2017-08-09 15 views
-3

Dateオブジェクトを持っていて、それをフォーマットしたいと思います。Dateオブジェクトをフォーマットして、yyyy-MM-dd hh:mm:ssを与える方法を教えてください。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

これは私が

YYYY-MM-DD HH印刷できるようにしたいと思いフォーマットです:mm:ssの

2017年8月9日19時48分に: 54

私は何を試しても、それを印刷するためにconsole.logを使用することはできません。私はいつも同じようなものを手に入れます

Wed Aug 09 2017 19:48:54 GMT+0200 (Central Europe Daylight Time) 
or 
Wed, 09 Aug 2017 17:48:54 GMT 

埋め込まれたすべての追加情報は必要ありません。 Dateオブジェクトを作成し、時刻が19:53:00で日付が2017-08-09の場合、これはただ必要です。2017-08-98 19:53:00

どうすれば正確に取得できますか?私はこれをサーバーに送る必要があります。

+2

私はお勧めあなたが見てto use [momentjs](https://momentjs.com/) –

答えて

0

あなたはmomentjsライブラリを使用することができます

> moment().format('YYYY-MM-DD HH:mm:ss') 
< "2017-08-09 01:57:51" 

あなたはまた、JavaScriptのDateオブジェクトに瞬間を使用することができます。

const myDate = new Date() 
moment(myDate).format('YYYY-MM-DD HH:mm:ss') 
+1

何かが標準で利用可能なときに外部ライブラリの使用をアドバイスすることは有用ではありません。ライブラリのロードには、開発者と実行時間がかかります。 – GKFX

+0

これは実行可能で直接的なソリューションの1つです。そして、多分OPはとにかく非標準のものをしたいと思うかもしれません。しかし、あなたのコメントのおかげで、ユーザーはそれを使用しないと思うかもしれませんが、私は_could_に更新します:) –

+0

私は自分のプロジェクトで瞬間を利用することができます。 ? –

1
let d = new Date(); // prints Wed Aug 09 2017 13:55:59 GMT-0400 
d.toISOString();  // prints "2017-08-09T17:55:59.428Z" 
// process the string to output in your desired format 
+1

丁寧に重複しているかどうかを確認し、質問にフラグを立てるだけの価値はあります。 – GKFX

+1

それは2017-08-09T17:55:59.428Zを得るのに問題ではありませんが、それは時間で4時間前ですが、2017-08-09 13:55:59 –

+0

私はGMT- 4とISO8601は常にGMTになっていますので、それが私の結果です。タイムゾーンを処理するには、moment.jsのようなもっと複雑なものが必要です。 – user3080953

2

これは正常に動作します:

function T(n) { return n<10?'0'+n:n; } 
var d = new Date(); 
var formatted = d.getFullYear()+'-'+T(d.getMonth())+'-'+T(d.getDay())+' '+T(d.getHours())+':'+T(d.getMinutes())+':'+T(d.getSeconds()); 
console.log(formatted); // => 2017-07-03 19:08:30 
+1

'T'関数が' n'の値を連結できるので、getterを2回呼び出す必要はありません。 –

+0

@UlysseBN Brilliant、ありがとう。 –

+0

T関数は文字列を返す場合もありますが、それ以外の場合は、常に文字列を返します。 'return(n <10? '0': '')+ n'。 ;-) – RobG

関連する問題