備忘用。
##お試し(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によっては調整されません。