4

GoogleCalendarAPIの日付形式でdatajsを使用できません。私が信じる日時形式はRFC3339であり、これはカレンダーAPIから返されるサンプル日時です。

2012-01-05T08:45:00Z

これは、datejsのドキュメントからのものです。

Date.parse('1985-04-12T23:20:50Z')          // RFC 3339 Formats

しかし、これはnullを返すだけです。

私はdatejsが正しく機能していると仮定しています

Date.today().next().friday() 

2012年5月11日金曜日00:00:00GMT+ 0100(BST)を返します

4

1 に答える 1

7

解決済み:このバグレポートに従って、Date.parseExactまたはこのバージョンを使用してください

date.jsを使用したデモ

date-en-US.jsを使用したデモ


私が得る最初のバージョンを使用して

null
http://datejs.googlecode.com/files/date.js
Line 13

テストスイートからアサーションを取り出すとき:

// null
console.log('Date.parse("1985-04-12T23:20:50Z")',
  Date.parse('1985-04-12T23:20:50Z'));


// my previous answer works
console.log('Date.parse("1985-04-12T23:20:50Z".replace(...))',
     Date.parse('1985-04-12T23:20:50Z'
           .replace(/\-/g,'\/')
           .replace(/[T|Z]/g,' ')
     )
  );

// the test suite without the Z works
console.log('1985-04-12T23:20:50',
  new Date(1985,3,12,23,20,50).equals( Date.parse('1985-04-12T23:20:50')));

// but this one fails when not in the test suite    
try {
  console.log('1985-04-12T23:20:50Z',
    new Date(1985,3,12,23,20,50).equals( Date.parse('1985-04-12T23:20:50Z')));
}
catch(e) {
     console.log('1985-04-12T23:20:50Z',e.message);
}

date.jsを使用していない場合のこの問題に対する古い回答は次のとおりです

于 2012-05-10T10:01:55.330 に答える