2

必要な出力形式を取得できますが、正しい時刻ではありません。GMTで必要です(+4時間)

var dt = new Date();
var dt2 = dt.toString('yyyyMMddhhmmss');

何か案は?出力は次のようになります。

20120403031408

次のようにして、標準の文字列形式で GMT を取得できます。

dt.toUTCString();

しかし、それを yyyyMMddhhmmss 文字列に戻すことはできません

編集: date.js ライブラリを使用しています

4

2 に答える 2

1

date.jsには、日付をフォーマットするときに「UTC 」toString(format)を指定するオプションがありません。メソッド自体(ファイルの下部)は、そのようなオプションをサポートするために必要な、のメソッドを参照することはありませDategetUTC...

StevenLevithanのなどの別のライブラリの使用を検討することもできますdateFormatformatこれを使用すると、接頭辞として、を付けるか、 :の後にUTC:渡すことができます。trueformat

var utcFormatted = dateFormat(new Date(), 'UTC:yyyyMMddhhmmss');
var utcFormatted = dateFormat(new Date(), 'yyyyMMddhhmmss', true);

// also
var utcFormatted = new Date().format('yyyyMMddhhmmss', true);

Dominicが示したように、独自の関数を作成することもできます。

于 2012-04-03T20:22:47.180 に答える
1

キーはgetUTC関数を使用することです:

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date

/* use a function for the exact format desired... */  
function ISODateString(d){  
  function pad(n) { return n < 10 ? '0'+n : n }
  return d.getUTCFullYear() + '-'  
       + pad(d.getUTCMonth() +1) + '-'  
       + pad(d.getUTCDate()) + 'T'  
       + pad(d.getUTCHours()) + ':'  
       + pad(d.getUTCMinutes()) + ':'  
       + pad(d.getUTCSeconds()) + 'Z'  
}  

var d = new Date();  
console.log(ISODateString(d)); // prints something like 2009-09-28T19:03:12Z  
于 2012-04-03T19:24:55.757 に答える