java中的时区转换

发布于 2024-11-14 04:16:00 字数 248 浏览 1 评论 0原文

我正在实现以下方法 -

DateTime getDateTime(Date srcDate, String destTimeZone) {
}

由于输入是 Date 对象,我可以安全地将其时区假设为“UTC”。我必须将其转换为 destTimeZone 并返回 DateTime 对象。

有没有有效的方法来解决这个问题?

I am implementing the following method-

DateTime getDateTime(Date srcDate, String destTimeZone) {
}

As the input is of Date object, I can safely assume the timezone of it as "UTC". I have to convert it to destTimeZone and return DateTime object.

Any pointers in an efficient way to solve this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

寂寞花火° 2024-11-21 04:16:00

使用 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

Such a method is not really hard to implement with Joda Time:

public DateTime getDateTime( Date srcDate, String destTimeZone )
{
    return new DateTime( srcDate, DateTimeZone.forID( destTimeZone) );
}

The standard Java way would be:

Calendar cal = Calendar.getInstance( TimeZone.getTimeZone( destTimeZone ) );
cal.setTimeInMillis( srcDate.getTime() );
// now you have a Calendar object with time zone set
为你拒绝所有暧昧 2024-11-21 04:16:00
DateTime getDateTime(Date srcDate, String destTimeZone) {

    return new DateTime(new Date(srcDate.getTime() + 
                   TimeZone.getTimeZone(destTimeZone).getRawOffset()));

}
DateTime getDateTime(Date srcDate, String destTimeZone) {

    return new DateTime(new Date(srcDate.getTime() + 
                   TimeZone.getTimeZone(destTimeZone).getRawOffset()));

}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文