【Salesforce】Apexの日付操作でハマりがちなこと。

はじめに

ApexやVisualforceで日付の表示や日付操作をする際に、個人的によくハマるポイントがあるので、
備忘を兼ね、下記ポイントを整理したいと思います。
特にSalesforce内部で日付はGMT時刻で値を持っているので、JST時刻にし忘れることはよくあります。。

  • 基本
  • 表示形式 ←今回はここまで
  • フォーマット

表示形式

  1. プロパティを使用する場合、GTM時刻で表示される。
  2. <apex:outputText>を使用する時、JST時刻で表示される。
  3. <apex:outputField>を使用する時、GTM時刻で表示される。

サンプルコード

それぞれのサンプルコードが以下のようになります。
f:id:kmsyn1234:20170228203457p:plain

また、表示結果は以下のようになります。
f:id:kmsyn1234:20170228203745p:plain

おわりに

日付処理はよく使うのですが、意外と忘れがちですねー。
また、日付フォーマットを合わせて使用すると、見た目の表示は大丈夫なのですが、時刻がずれているという、意外と単純な見落としが起こるので要注意です。