【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の形式で使うそうな。

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

こちらはvalueOfです。

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

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

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

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

2016-11-30 00:00:00
1
2
3
4
5
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.

コメントを残す

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