我的问题:
如何获得第3点的时区?
示例:
//Point 1
String justTimeStringInUnixTime = "1280750400";
//Point 2
String justTimeStringAsDateString = "2010-08-02 14:00:00";
//Point 3
String extraString = "2015-03-24 09:33:03";
DateTimeZone timezone= getTimeZone(justTimeStringInUnixTime ,justTimeStringAsDateString);
//parse the extraString as DateTime
DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss").withZone(timezone);
DateTime dateTime= formatter.parseDateTime(extraString);
//some work with dateTime object ...
目前我不知道。也许有人可以指出我需要的想法/代码片段。
答案 0 :(得分:0)
可能有点粗糙,但这应该有效:
long ref = Integer.parseInt(justTimeStringInUnixTime) * 1000l;
SimpleDateFormat form = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date j = form.parse(justTimeStringAsDateString);
long offset = j.getTime() - ref;
TimeZone tz = new SimpleTimeZone((int) offset, "UTC" + (offset == 0 ? "" : String.format("%+d", ((int) offset/3600000))));
DateTimeZone timezone= DateTimeZone.forTimeZone(tz);