繁体   English   中英

清理JavaScript时间戳

[英]Clean up JavaScript timestamp

我正在使用此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”?

尽管如果要处理大量日期,使用moment.js是一种更平滑的方法,但是使用香草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 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM