見出し画像

JavaScriptで日付出そうと思ったら今ってめちゃくちゃ短く書けるんだって知った話

本当はZennとかQiitaで書くようなことなんだろうけど、
noteはいろんな人が見てくださるのでこっちに書こうと思う。

◇日付(YYYY-MM-DD)の取得

2013年とか以前の書き方
俺はずっとこれしかないと思ってた。

var today = new Date();
var year = today.getFullYear();
var month = ("0" + String(today.getMonth() + 1)).slice(-2);
var day = ("0" + String(today.getDate())).slice(-2);
console.log(year + "-" + month + "-" + day);

2013年以降

new Date().toLocaleDateString("ja-JP", {year: "numeric",month: "2-digit",
   day: "2-digit"}).replace('/', '-')

Twitterで見かけた→JavaScriptで本日の日付をYYYY-MM-DD形式で得る短いコード - EY-Office

◻最短?のコード

new Date().toLocaleDateString('sv-SE')

スウェーデンの形式だとこれだけで、
YYYY-MM-DDが取得できるとのこと。


◇時間の取得(hh:mm:ss)

思ったより短かった。
ChatGPTに聞いたら

var time = new Date().toLocaleTimeString('ja-JP', {hour12:false});

を教えてくれた。
ずっとhhmmss個別で取得するもんだと思ってたよ・・・

◇やってみた

setInterval(function(){
  // sv-SEロケールはYYYY-MM-DD形式の日付文字列を戻す
  var ymd = new Date().toLocaleDateString('sv-SE');
  var time = new Date().toLocaleTimeString('ja-JP', {hour12:false});
  // 書き込みする
  var el = document.getElementById("date");
  el.innerHTML = ymd + " " + time;
  
}, 1000)

知らないって怖いなあって思いました。
それでは。

最後までお読みいただき、ありがとうございます。 今後もたくさんの方に読んでいただけるよう精進します。 活動継続にあたりサポートをいただけると、 私のモチベーション維持やクオリティ向上に繋がります。 頂いたサポートはクリエイターとしての活動費にさせて頂きます。 ぜひお願い致します。