[apex]Date型のフォーマット
何回かググっているので、備忘録。
Date型のフォーマットは一応用意されているが、フォーマット内容を指定が出来ないよう。
1 2 3 4 |
|
format('yyyy-MM-dd')
とか書くと怒られる。
Date Class – format()
代わりにDatetime型の場合はフォーマットを指定して出力が可能。
なので、Date型のものをフォーマット指定して出力したい場合は、一度Datetime型に変換してやる必要がある。
apexのDatetime型の扱いには注意が必要で、そのまま変換してDatetime型のまま使用しているとタイムゾーンが標準時になって9時間戻ってしまう。
ただしそれをフォーマットして文字列にするとまた元に戻る。
指定するならする、しないならしない、で統一しているとややこしくならなくてすみそう。
1 2 3 4 5 6 |
|
参考
Date Class – format()
Datetime Class – format(string)
validation – Salesforce Apex: Validating date for format and value – Stack Overflow