datetime型(日時型)の値をメール内にJST(日本時間)で差し込む方法
こんにちは。Adobeのコンサルタントの棟です。
お客様から「『取得日』をアラートで通知しようとトークンを埋めたら、日本時間になってないじゃないか!」
とお問い合わせをいただきました。
実は、、Marketoフィールドの日時型の値はトークンで出力した際、USの時間(CDT)になってしまいます。。
(どうにかしてほしい部分なのですが、申し訳ありません。。)
※以下に投票してもらうと、開発優先度が上がるかもしれませんので、ぜひ「いいね」してください。。
解決策は、メールスクリプトトークンを使い、タイムゾーンを変換してから出力する方法です。
以下、サンプルコードです。
#set( $inTimeZone = $date.getTimeZone().getTimeZone('America/Chicago') )
#set( $outTimeZone = $date.getTimeZone().getTimeZone('Asia/Tokyo') )
#set( $locale = $date.getLocale() )
#set( $myDate = $convert.parseDate($lead.Acquisition_Date,'yyyy-MM-dd HH:mm',$locale,$inTimeZone) )
${date.format('yyyy-MM-dd HH:mm',$myDate,$locale,$outTimeZone)}
4行目の$lead.Acquisition_Dateは「取得日」フィールドなので、他のフィールドにしたい場合は、変更してください。
出力形式の指定は5行目の'yyyy-MM-dd HH:mm'部分ですので、こちらも任意に変更ください。
メールスクリプトにフィールドの値を使うときは、右エリアの該当フィールド名にチェックを入れるのをお忘れなく。

参考:https://docs.marketo.com/pages/releaseview.action?pageId=7507421
メールスクリプトの設定方法は以下ご参考ください。
https://docs.marketo.com/pages/releaseview.action?pageId=7507421
メールスクリプトについてもっと知りたい!という方は以下ご参考ください。(技術者向け)
https://developers.marketo.com/email-scripting/
ぜひトライしてみてください!
