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/

これを単純化するために、次の文字列を単純に取得して、サファリで実行すると失敗します。

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 に答える