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

时间:2014-12-02 20:18:19

标签: javascript datetime

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);

3 个答案:

答案 0 :(得分:2)

1)排序。只需执行""+dt,您就可以根据浏览器的区域设置获取日期格式。至少在理论上,如果您的计算机设置为12小时,那么结果也是如此。

2)您可以使用("0"+dt.getHours()).slice(-2)

进行零填充

答案 1 :(得分:1)

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

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

JsFiddle

答案 2 :(得分:1)

原来我确实错过了内置功能,这就是我最终得到的功能。

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);