0

我正在查询 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/

4

1 回答 1

0

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

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

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

那是行不通的。

要检查您的变量是否为日期类型,请尝试以下操作:

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

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

在 Safari 中使用 Javascript从new Date()获取它

于 2013-01-14T11:30:38.797 回答