JmeterでAPIからのResponseを処理するときに詰まったのでメモ。
Fri Apr 4 00:00:00 UTC+0900 1902
このような日付の文字列をDateにフォーマットするには
new SimpleDateFormat("EEE MMM dd HH:mm:ss zZ yyyy", Locale.ENGLISH);
これです。
z タイムゾーン 一般的なタイムゾーン Pacific Standard Time; PST; GMT-08:00 Z タイムゾーン RFC 822タイムゾーン -0800
と書いていましたが、組み合わせが思いつかずでした。
全体のコードは下記になります。
import java.text.SimpleDateFormat;
String date = "Fri Apr 4 00:00:00 UTC+0900 1902";
// Original format to convert from
SimpleDateFormat formatFrom = new SimpleDateFormat("EEE MMM dd HH:mm:ss zZ yyyy", Locale.ENGLISH);
// Target format to convert to
SimpleDateFormat formatTo = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss zZ", Locale.ENGLISH);
// Parse original string, using original format
Date formatDate = formatFrom.parse(date);
// Convert to a target format
String newDate = formatTo.format(formatDate);
System.out.println(newDate);