来自 Date() 对象的 JavaScript 格式化时间

javascript formatting time from Date() object

本文关键字:JavaScript 格式化 时间 对象 Date 来自      更新时间:2023-09-26

1.) javascript 中是否有内置的格式化选项,可以将从 Date() 获得的时间显示为 12 小时格式?

2.) 当值小于 10 时,使用下面的脚本,分钟和秒字段显示为 1 位格式。有没有办法强制 2 位数字报告分钟/秒值,以便 1..2... 3... 显示为 01...02... 03...等等....

function updateTime(){
    var dt = new Date();
    var weekday = new Array(7);
weekday[0]=  'Sunday';
weekday[1] = 'Monday';
weekday[2] = 'Tuesday';
weekday[3] = 'Wednesday';
weekday[4] = 'Thursday';
weekday[5] = 'Friday';
weekday[6] = 'Saturday';
    var time = weekday[dt.getDay()] + ' ' + dt.getDate() + '/' + dt.getMonth() + '/' + dt.getFullYear() + ' ' +dt.getHours() + ':' + dt.getMinutes() + ':' + dt.getSeconds();
    document.getElementById('dttime').innerHTML = time;
}
setInterval(updateTime, 1000);

1)有点。只需执行""+dt,您将获得根据浏览器的区域设置格式化的日期。至少从理论上讲,如果您的计算机设置为 12 小时,那么结果也会如此。

2)你可以用("0"+dt.getHours()).slice(-2)零垫

让你的生活变得简单。使用时刻.js

function updateTime(){
  var time = moment().format('MMMM Do YYYY, h:mm:ss a');
  document.getElementById('dttime').innerHTML = time;
}
setInterval(updateTime, 1000);

小提琴

事实证明,我确实错过了一个内置函数,这是我最终得到的根据需要工作的功能。

function updateTime(){
    var dt = new Date();
    var n = dt.toLocaleTimeString(); <-- added new var converts dt to local time string
    var weekday = new Array(7);
weekday[0]=  'Sunday';
weekday[1] = 'Monday';
weekday[2] = 'Tuesday';
weekday[3] = 'Wednesday';
weekday[4] = 'Thursday';
weekday[5] = 'Friday';
weekday[6] = 'Saturday';
    var time = weekday[dt.getDay()] + ' ' + dt.getDate() + '/' + dt.getMonth() + '/' + dt.getFullYear() + ' ' + n;  <-- removed getMin/GetSec and replaced with N variable.
    document.getElementById('dttime').innerHTML = time;
}
setInterval(updateTime, 1000);