我正在使用此javascript代码将客户端时间与我的服务器时间同步
var offset = 0;
function calcOffset() {
var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
xmlhttp.open("GET", "http://stackoverflow.com/", false);
xmlhttp.send();
var dateStr = xmlhttp.getResponseHeader('Date');
var serverTimeMillisGMT = Date.parse(new Date(Date.parse(dateStr)).toUTCString());
var localMillisUTC = Date.parse(new Date().toUTCString());
offset = serverTimeMillisGMT - localMillisUTC;
}
function getServerTime() {
var date = new Date();
date.setTime(date.getTime() + offset);
return date;
}
我回来的日期是
"2013-10-03T16:37:05.568Z"
如何制作“2013-10-03 H:i:s”?
答案 0 :(得分:3)
虽然使用moment.js是一种更顺畅的方法,如果你正在使用一堆日期,这里有一种方法可以使用vanilla JS:
x = new Date
x.getFullYear() + '-' + x.getMonth() + '-' + x.getDay()
修改强>
这里有月和日的时间和前导零,因为你可以看到这些额外的东西增加了更多的代码。也许如果你用moment.js发布另一个详细描述你的烦恼的问题,我们将能够帮助解决这个问题:
formatDate(new Date);
function formatDate(d){
var year = d.getFullYear();
var month = addLeadingZero(d.getMonth());
var day = addLeadingZero(d.getDay());
var hours = d.getHours();
var minutes = d.getMinutes();
var seconds = d.getSeconds();
return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds
}
function addLeadingZero(n){ return n < 10 ? '0'+n : ''+n }