我从 JSON 中提取了以下格式的日期和时间
2013-01-16T13:43:11
我需要将其转换为巴基斯坦当地时间并在该时间上增加 5 小时,因此结果如下:
06:43
我怎样才能做到这一点?
我从 JSON 中提取了以下格式的日期和时间
2013-01-16T13:43:11
我需要将其转换为巴基斯坦当地时间并在该时间上增加 5 小时,因此结果如下:
06:43
我怎样才能做到这一点?
假设这"2013-01-16T13:43:11"
是在格林威治标准时间
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
将在您当地的时区,所以如果您在巴基斯坦就可以了
您可以使用 SimpleDateFormat 如下:
String strDate = null;
SimpleDateFormat dateFormatter = new SimpleDateFormat(
"hh:mm");
strDate = dateFormatter.format(yourDate);
希望能帮助到你。
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());