【问题标题】:how to sync the date with the server time (Moment.js)如何将日期与服务器时间同步(Moment.js)
【发布时间】:2014-11-14 07:16:49
【问题描述】:

我有这个代码,它就像一个魅力

function muestraDias() { 
var day=0; 
var server = TimeSync.serverTime()
var d= new Date();  
var weekdays = new Array(7);
weekdays[0] = "Domingo";
weekdays[1] = "Lunes";
weekdays[2] = "Martes";
weekdays[3] = "Miercoles";
weekdays[4] = "Jueves";
weekdays[5] = "Viernes";
weekdays[6] = "Sabado";
 for (i=1; i<8;i++){  

          document.getElementById("sub"+i).innerHTML = moment(d).locale("es").format('L');
          day=weekdays[d.getDay()];
          document.getElementById("titulo"+i).innerHTML =day;
          d.setDate(d.getDate() +1);
      }
  }

但它不是很有效,例如如果用户在计算机上输入错误的日期,该函数将呈现不同的日期,并且我的模板会中断,所以我想将变量 server 传递给当前日期但是我得到无效日期,我在这里做错了什么?

对于变量服务器,我使用 mizzao:timesync

我也有这个问题,假设我部署我的应用程序让我们说 Modulus,服务器将从他们拥有的任何美国部分获取 TimeZone,所以有没有办法在服务器端设置时区?像

moment.tz(currentDateVariable, "America/Mexico_city");

【问题讨论】:

标签: javascript meteor momentjs


【解决方案1】:

我不知道 TimeSync 或那是什么,但我猜TimeSync.serverTime() 返回一个包含服务器时间的字符串。

然而,代码需要一个日期对象(您可以在其上执行getDate() 来获取日期,并执行getDay() 来获取日期)。

因此,在这种情况下,您必须将服务器字符串拆分为多个部分(年、月等) 并将其作为参数传递给Date() 对象,如下所示:

http://www.w3schools.com/jsref/jsref_obj_date.asp

【讨论】:

  • TimeSync.serverTime 返回自纪元以来的毫秒数,因此您可以将其转换为带有 new Date(TimeSync.serverTime())Date 或带有 moment(TimeSync.serverTime())moment
猜你喜欢
  • 2012-09-25
  • 2013-04-19
  • 2011-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-04
  • 1970-01-01
相关资源
最近更新 更多