【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() - JavaScript | MDN
slice() は Array インスタンスのメソッドで、配列の一部を start から end (end は含まれない)までの範囲で、選択した新しい配列オブジェクトにシャローコピーして返します。 ここで start と end はその配列に含まれる項目のインデックスを表します。元の配列は変更されません。

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

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

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のように取得できます。

 

未経験、異業種からIT業界に転身。フロントエンジニア。主にJavascript(React.js)をつかったWEBアプリ開発にたずさわる。
お問い合わせ、ご相談など → genpsp10@gmail.com

psp7をフォロー
プログラミング
スポンサーリンク
psp7をフォロー
ハトらぼ

コメント