错误转换日期

时间:2015-12-09 19:17:03

标签: javascript angularjs

在学校,我们有一个内部降临日历,每天都会显示一个新问题。为了防止用户访问未来的问题,我从服务器获取时间。我目前的代码如下:

$http.get('js/text.json').success(function(data) {
    this.textData = data;
    $http.get('http://api.timezonedb.com/?zone=Europe/Oslo&format=json&key=(private)').success(function(data) {
      this.timeData = data;
      var timestamp = new Date(data.timestamp);
      console.log(timestamp.getDate());
      this.dato = timestamp.getDate();
      this.dagens = this.getSpm(this.dato);
      if (this.dagens === undefined) {
        this.dagens = "Dagens spørsmål har ikke kommet.";
      }
    }.bind(this));
  }.bind(this));

我的问题是,当我将获取的时间戳转换为日期时,我会从1970年1月开始获取日期。

2 个答案:

答案 0 :(得分:2)

timezonedb.com返回Unix timestamp,即自1970年1月1日起的,javascript的new Date预期毫秒自1970年1月1日起

使用var timestamp = new Date(data.timestamp * 1000);

答案 1 :(得分:2)

你应该把它转换成毫秒

this.timeData = data*1000;
var timestamp = new Date(data.timestamp);

timezonedb.com以秒为单位给出时间戳,而不是以毫秒为单位。