我正在实施以下方法 -
DateTime getDateTime(Date srcDate, String destTimeZone) {
}
由于输入是Date
对象,我可以安全地假设它的时区为“UTC”。我必须将其转换为destTimeZone
并返回DateTime
对象。
任何指针都能以有效的方式解决这个问题吗?
答案 0 :(得分:1)
这种方法并不是很难用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
答案 1 :(得分:0)
DateTime getDateTime(Date srcDate, String destTimeZone) {
return new DateTime(new Date(srcDate.getTime() +
TimeZone.getTimeZone(destTimeZone).getRawOffset()));
}