西暦、曜日が正しく表示されない

ホーム フォーラム ReportsConnect for Salesforce 西暦、曜日が正しく表示されない

  • このトピックには2件の返信、2人の参加者があり、最後にsweetieにより9年、 5ヶ月前に更新されました。
3件の投稿を表示中 - 1 - 3件目 (全3件中)
  • 投稿者
    投稿
  • #218
    ino
    参加者

    SimpleDateFormatを使った時、西暦がうまく変換されない場合や曜日が変換されない場合、SimpleDateFormatの第二引数に「Locale.US」を書いてください

    サンプルコードを書いておきます。

    (パターンで出力フォーマットを指定してください)
    new SimpleDateFormat(“yyyy-MM-dd’T’HH:mm:ss.SSSZ”,Locale.US).parse($F{日時})

    (パターンが使えないので1行目で出力フォーマットを設定してください)
    new SimpleDateFormat(“yyyy/MM/dd HH:mmEEEEE”,Locale.JAPAN)
    .format(
    (new SimpleDateFormat(“yyyy-MM-dd’T’HH:mm:ss.SSSZ”,Locale.US)
    .parse($F{日時})))

    #220
    sweetie
    参加者

    上記の件ですが、Reportsconnectがホスティングしている、herokuのJavaのdefaultが2015年5月1日付近から突然変更された模様です。
    2015年の表示が4003年と表示されるようなケースです。
    現状では確認しているのはSimpleDateFormatを使用している場合のみに発生します。
    現状、問題なく出ている場合でも、Locale.USの指定を追加して副作用はありませんので、SimpleDateFormatを第二引数なしで使用している場合には対処をおすすめします。

    • この返信は9年、 6ヶ月前にsweetieが編集しました。
    #224
    sweetie
    参加者

    上記の件ですが、5/7現在はLocale.USの指定なしでも西暦と判断されているようです。
    ただし、西暦としてparseする場合は予防処置として明示的にLocale.USを指定することをおすすめします。

3件の投稿を表示中 - 1 - 3件目 (全3件中)
  • このトピックに返信するにはログインが必要です。