我正在查询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:
为了简化这一点,您可以简单地使用此字符串:并在safari中运行它并失败:
console.log(new Date('2013-01-02 13:33:51'));
答案 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/