javascript日期变量格式 - chrome vs safari

时间:2013-01-14 11:25:28

标签: javascript date timestamp vimeo

我正在查询vimeo的API以获取我的视频的上传日期。我想知道为什么这适用于chrome,但不是safari,以及为此视频创建时间戳的正确方法是:

  var vimeoDate = videos[i].upload_date;
  var vidDate = new Date(videos[i].upload_date);
  var vidTime = vidDate.getTime();

  console.log('vimeoDate: ' + vimeoDate + ', ' + vidDate + ', ' + vidTime);
  //returns: "vimeoDate: 2012-06-07 13:47:08, Invalid Date, NaN"

您可以在此处看到一个返回无效日期的JSFiddle:

http://jsfiddle.net/nPSqL/

为了简化这一点,您可以简单地使用此字符串:并在safari中运行它并失败:

console.log(new Date('2013-01-02 13:33:51'));

http://jsfiddle.net/nPSqL/1/

1 个答案:

答案 0 :(得分:0)

new Date('2012-06-07 13:47:08'); // works

因此,您的给定参数实际上必须具有类型日期。因为控制台打印日期。如果它是一个约会,那么你正在尝试做类似的事情:

var date = new Date();
new Date(date); // doesn't work

这不起作用。

要检查您的变量是否为date类型,请尝试:

var isDate = function(date) {
    return Object.prototype.toString.call(date) === "[object Date]";
};

好的,找到解决方案http://jsfiddle.net/nPSqL/2/

来自new Date() using Javascript in Safari