次の形式でJSONから日付と時刻を抽出しました
2013-01-16T13:43:11
それをパキスタンの現地時間に変換し、その時間に 5 時間を追加する必要があるため、結果は次のようになります。
06:43
どうすればこれを達成できますか?
次の形式でJSONから日付と時刻を抽出しました
2013-01-16T13:43:11
それをパキスタンの現地時間に変換し、その時間に 5 時間を追加する必要があるため、結果は次のようになります。
06:43
どうすればこれを達成できますか?
"2013-01-16T13:43:11"
それがGMTにあると仮定すると
String s = "2013-01-16T13:43:11";
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
df.setTimeZone(TimeZone.getTimeZone("GMT"));
Date date = df.parse(s);
date = new Date(date.getTime() + 5 * 3600 * 1000);
String time = new SimpleDateFormat("HH:mm").format(date);
time
現地のタイムゾーンになるので、パキスタンにいる場合は問題ありません
Java dateFormat はスレッドセーフではありません。代わりに joda time lib を使用してください。
withZone メソッドを使用して、特定のタイムゾーンで時間を変更できます
DateTime userTime1 = new DateTime();
DateTime eventRecordTime = new DateTime();
userTime1 = DateTime.parse("2012-07-05T21:45:00+02:00");
eventRecordTime = DateTime.parse((String) jo.get("start_time"));
DateTimeZone dtz = userTime1.getZone();
System.out.println(eventRecordTime.withZone(dtz).toString());
以下のように SimpleDateFormat を使用できます。
String strDate = null;
SimpleDateFormat dateFormatter = new SimpleDateFormat(
"hh:mm");
strDate = dateFormatter.format(yourDate);
それが役に立てば幸い。