09

日付のパース

iAP上で日付を固定書式でパースしたいのだが。

DateTimeFormatter: intra-mart Accel Platform SSJS API Documentation

とある既存コードを眺めていて気になったので試してみた

Debug.browse(
   DateTimeFormatter.parseToDate('yyyy/M/d', '2015/9/9'),
   DateTimeFormatter.parseToDate('yyyy/MM/dd', '2015/9/9'),
   DateTimeFormatter.parseToDate('yyyy/M/d', '2015/09/09'),
   DateTimeFormatter.parseToDate('yyyy/MM/dd', '2015/09/09')
);

結果は

1   Wed Sep 09 00:00:00 JST 2015    Date
2   Wed Sep 09 00:00:00 JST 2015    Date
3   Wed Sep 09 00:00:00 JST 2015    Date
4   Wed Sep 09 00:00:00 JST 2015    Date

そうだよねえ。

ちなみにパースに失敗すると例外が飛ぶ。javacript 側の try-catch で捕まえられるから、それで何とかするしかないねえ。