【Salesforce】StringをDateにする方法

【Salesforce】StringをDateにする方法

Salesforceで文字列を日付にする際、形式がいつもごっちゃになるのでメモです。

https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_methods_system_date.htm

parseを使う場合は「yyyy/MM/dd」の形式です。

リファレンスを見ると「MM/dd/yyyy」となっています。

local date formatの形式で使うそうな。

String strDate = '2016/11/30';
Date d = Date.parce(strDate);

こちらはvalueOfです。

「yyyy-MM-dd HH:mm:ss」の形式で入力するようです。

試してみると「yyyy-MM-dd」だけでもいけるようですね。

String strDate = '2016-11-30';
Date d = Date.parce(strDate);

つまり、これらの結果はどれも同じということになります。


system.debug(Date.parse('2016/11/30'));

system.debug(Date.valueOf('2016-11-30 12:00:00'));

system.debug(Date.valueOf('2016-11-30'));

時間が入っていても切り捨てる形になるんですね。

よく使う割には覚えていなかったりします。

No comments.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です