我有一个脚本,打印当前的日期和时间在JavaScript,但日期总是错误的。代码如下:

var currentdate = new Date();
var datetime = "Last Sync: " + currentdate.getDay() + "/" + currentdate.getMonth() 
+ "/" + currentdate.getFullYear() + " @ " 
+ currentdate.getHours() + ":" 
+ currentdate.getMinutes() + ":" + currentdate.getSeconds();

它应该打印18/04/2012 15:07:33和打印3/3/2012 15:07:33


当前回答

这个问题很古老,答案也很古老。现在我们可以使用moment.js来获取当前日期,而不是那些怪异的函数,这实际上非常简单。所有要做的就是在我们的项目中包括moment.js,并获得一个格式良好的日期,例如,通过:

moment().format("dddd, MMMM Do YYYY, h:mm:ss a");

我认为这使得在javascript中处理日期更容易。

其他回答

如果有人在寻找功能

console.log(formatAMPM());
function formatAMPM() {
  var date = new Date();
  var hours = date.getHours();
  var minutes = date.getMinutes();
  var seconds = date.getSeconds();
  var ampm = hours >= 12 ? 'PM' : 'AM';
  hours = hours % 12;
  hours = hours ? hours : 12; // the hour '0' should be '12'
  minutes = minutes < 10 ? '0'+minutes : minutes;
  return strTime = date.getMonth() + '/' + date.getDay()+'/'+date.getFullYear()+' '+ hours + ':' + minutes +':'+ seconds + " " +ampm;
}

这个问题很古老,答案也很古老。现在我们可以使用moment.js来获取当前日期,而不是那些怪异的函数,这实际上非常简单。所有要做的就是在我们的项目中包括moment.js,并获得一个格式良好的日期,例如,通过:

moment().format("dddd, MMMM Do YYYY, h:mm:ss a");

我认为这使得在javascript中处理日期更容易。

获取当前日期和时间

var now = new Date(); 
  var datetime = now.getFullYear()+'/'+(now.getMonth()+1)+'/'+now.getDate(); 
  datetime += ' '+now.getHours()+':'+now.getMinutes()+':'+now.getSeconds(); 

它简单而精湛

$(document).ready(function() { var fpsOut = document.getElementById('myTime'); setInterval(function() { var d = new Date(); fpsOut.innerHTML = d; }, 1000); }); <script src=“https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js”></script> <div id=“myTime”></div>

请找到下面的提琴为例

http://jsfiddle.net/4zVxp/483/

我想现在分享我的答案已经很晚了,但我认为这是值得的。

function __getCurrentDateTime(format){
    var dt=new Date(),x,date=[];
    date['d']=dt.getDate();
    date['dd']=dt.getDate()>10?dt.getDate():'0'+dt.getDate();
    date['m']=dt.getMonth()+1;
    date['mm']=(dt.getMonth()+1)>10?(dt.getMonth()+1):'0'+(dt.getMonth()+1);
    date['yyyy']=dt.getFullYear();
    date['yy']=dt.getFullYear().toString().slice(-2);
    date['h']=(dt.getHours()>12?dt.getHours()-12:dt.getHours());
    date['hh']=dt.getHours();
    date['mi']=dt.getMinutes();
    date['mimi']=dt.getMinutes()<10?('0'+dt.getMinutes()):dt.getMinutes();
    date['s']=dt.getSeconds();
    date['ss']=dt.getSeconds()<10?('0'+dt.getSeconds()):dt.getSeconds();
    date['sss']=dt.getMilliseconds();
    date['ampm']=(dt.getHours()>=12?'PM':'AM');
    x=format.toLowerCase();
    x=x.indexOf('dd')!=-1?x.replace(/(dd)/i,date['dd']):x.replace(/(d)/i,date['d']);
    x=x.indexOf('mm')!=-1?x.replace(/(mm)/i,date['mm']):x.replace(/(m)/i,date['m']);
    x=x.indexOf('yyyy')!=-1?x.replace(/(yyyy)/i,date['yyyy']):x.replace(/(yy)/i,date['yy']);
    x=x.indexOf('hh')!=-1?x.replace(/(hh)/i,date['hh']):x.replace(/(h)/i,date['h']);
    x=x.indexOf('mimi')!=-1?x.replace(/(mimi)/i,date['mimi']):x.replace(/(mi)/i,date['mi']);
    if(x.indexOf('sss')!=-1){   x=x.replace(/(sss)/i,date['sss']);  }
    x=x.indexOf('ss')!=-1?x.replace(/(ss)/i,date['ss']):x.replace(/(s)/i,date['s']);
    if(x.indexOf('ampm')!=-1){  x=x.replace(/(ampm)/i,date['ampm']);    }
    return x;
}

console.log(__getCurrentDateTime());  //returns in dd-mm-yyyy HH:MM:SS
console.log(__getCurrentDateTime('dd-mm-yyyy'));    //return in 05-12-2016
console.log(__getCurrentDateTime('dd/mm*yyyy'));    //return in 05/12*2016
console.log(__getCurrentDateTime('hh:mimi:ss'));    //return in 13:05:30

console.log (__getCurrentDateTime (' h mi: ss ampm '));//下午1:5:30返回