問題

私はこの形式を取得したい:

2019-03-24 15:05:20

ここで私が試したことがあります:

 var today = new Date();
var date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();
var time = today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds();
var dateTime = date+' '+time;
 

私は得た:

2019-3-24 15:0:20

先行ゼロがない

  ベストアンサー

これは、10より小さい数字はゼロで埋められるべきですが、そうではありません。

予想される結果を達成するためにpadStart関数を使用することができます。数字の長さが2未満の場合、先頭の0文字を追加します。コードを少し修正しましたが、必要なのは.toString().padStart(2, '0')を数値に使用することだけです。

 var today = new Date();

var date = [
  today.getFullYear(),
  today.getMonth() + 1,
  today.getDate(),
].map((value) => value.toString().padStart(2, '0')).join('-');

var time = [
  today.getHours(),
  today.getMinutes(),
  today.getSeconds(),
].map((value) => value.toString().padStart(2, '0')).join(':');;


var dateTime = date + ' ' + time;
console.log(dateTime); 

  同じタグがついた質問を見る

javascriptjquery