我正在实现以下方法-
DateTime getDateTime(Date srcDate, String destTimeZone) {
}
由于输入是Date
对象,我可以放心地假设它的时区为"UTC"。我必须将其转换为destTimeZone
并返回DateTime
对象。
有什么可以有效解决这个问题的指针吗?
这样的方法在Joda Time:中并不难实现
public DateTime getDateTime( Date srcDate, String destTimeZone )
{
return new DateTime( srcDate, DateTimeZone.forID( destTimeZone) );
}
标准的Java方式是:
Calendar cal = Calendar.getInstance( TimeZone.getTimeZone( destTimeZone ) );
cal.setTimeInMillis( srcDate.getTime() );
// now you have a Calendar object with time zone set
DateTime getDateTime(Date srcDate, String destTimeZone) {
return new DateTime(new Date(srcDate.getTime() +
TimeZone.getTimeZone(destTimeZone).getRawOffset()));
}