1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

JavaScriptの日付文字列生成

Last updated at Posted at 2018-06-05

備忘用。

##お試し(CodePen)

See the Pen Make DateString by fujisystem (@fujisystem) on CodePen.

解説


#YYYY 西暦4桁
#YY   西暦2桁
#MMM  Abbreviations of Months
#MM   月数字2桁(zero-padding)
#M    月数字2桁
#DD   日数字2桁(zero-padding)
#D    日数字2桁
#EEE  曜日
#eee  day Of Week
#hh   時数字2桁(zero-padding)
#h    時数字2桁
#mm   分数字2桁(zero-padding)
#m    分数字2桁
#ss   秒数字2桁(zero-padding)
#s    秒数字2桁

総括・ハマりポイント

  • 特にないけど、JavaScriptのDateは5/31 ⇒ (前月) ⇒ 4/31(存在しない) ⇒ 5/1(繰り上がり)となるみたい。Javaのapache.CommonのDateUtils#addMonthsと挙動が違う。
    というより、Calendarクラスの挙動が繰り上がらない挙動みたい。
例: 最初に1999年8月31日に設定されたGregorianCalendarを考えます。add(Calendar.MONTH, 13)を呼び出すと、カレンダが2000年9月30日に設定されます。8月に13か月を追加すると翌年の9月になるため、Addルール1によってMONTHフィールドが9月に設定されます。DAY_OF_MONTHはGregorianCalendarでは9月の31日にはできないため、Addルール2によってDAY_OF_MONTHがもっとも近い可能な値の30に設定されます。これは小さいフィールドですが、GregorianCalendarで月が変更されるときに変更が予定されているため、DAY_OF_WEEKはルール2によっては調整されません。
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?