【Javascript】現在時刻をyyyymmddの文字列で取得

Jsで現在時刻を文字列の形で取得

Javascriptで現在日時の取得は

new Date()

を使ってDate型で取得できます。これを文字列にして取得したい場合、年、月、日を分解して連結します。

JavascriptにはDate型を文字列に整形するメソッドはデフォルトで用意されていないようなので、独自に実装する必要があります。

現在時刻をyyyymmddのフォーマットで取得する関数例は下記です。

function getNowYMDStr(){
  const date = new Date()
  const Y = date.getFullYear()
  const M = ("00" + (date.getMonth()+1)).slice(-2)
  const D = ("00" + date.getDate()).slice(-2)

  return Y + M + D
}

これで20181201のように文字列で取得できます。

頭に”00″をつけてslice(-2)とすることで、2桁に整形して連結します。getMonth()+1としているのは、JavascriptではgetMonth()で取得できる月が1ズレるためです。

sliceについては下記を参照。

Array.prototype.slice()
配列の一部を取り出して新しい配列を返します。

時間、分、秒まで文字列で取得したい場合

また、時間、分、秒まで取得したい場合は下記のように追記します。

function getNowYMDhmsStr(){
  const date = new Date()
  const Y = date.getFullYear()
  const M = ("00" + (date.getMonth()+1)).slice(-2)
  const D = ("00" + date.getDate()).slice(-2)
  const h = ("00" + date.getHours()).slice(-2)
  const m = ("00" + date.getMinutes()).slice(-2)
  const s = ("00" + date.getSeconds()).slice(-2)

  return Y + M + D + h + m + s
}

これで20181201154512のように秒まで取得できます。

それぞれの単位で区切りを入れたい場合は、下のように連結部分のコードで好きなセパレータを挟んでください。

return Y + '/' + M + '/' + D

これで2018/12/01のように取得できます。

 

コメント