java - 根据区域设置(国家/地区)获取当前日期和时间

发布于 2024-10-31 13:43:38 字数 57 浏览 5 评论 0原文

我想根据区域设置获取当前日期/时间。如果我传递区域设置对象,我需要获取该国家/地区的相关日期/时间。

I would like to fetch the current date / time based on the locale. If I pass locale object, I need to get the relevant date / time of the country.

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

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

发布评论

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

评论(3

撩心不撩汉 2024-11-07 13:43:39

从Java 8开始,你有 LocalDateTimeZonedDateTime

所以你可以像@Babar说的那样:

获取一个区域id

ZoneId zoneId = ZoneId.of("Europe/布鲁塞尔");

然后获取日期和时间

ZonedDateTime zonedDateTime = ZonedDateTime.now(zoneId);

Since Java 8 you have LocalDateTime and ZonedDateTime

So you can do the same as @Babar said:

Get a zone id

ZoneId zoneId = ZoneId.of("Europe/Brussels");

And then get date and time

ZonedDateTime zonedDateTime = ZonedDateTime.now(zoneId);

心凉 2024-11-07 13:43:39
    public static void main(String[] arg){
        String[] timeZoneIDList = TimeZone.getAvailableIDs();
        //List of Time Zones
        for(String timeZoneID:timeZoneIDList){
            System.out.println(timeZoneID);
        }
        //What time is it in Fiji
        Calendar fijiCalendar = Calendar.getInstance(TimeZone.getTimeZone("Pacific/Fiji"));
        System.out.println("Time in Fiji->"+fijiCalendar.get(Calendar.HOUR)+":"+fijiCalendar.get(Calendar.MINUTE));
    }
    public static void main(String[] arg){
        String[] timeZoneIDList = TimeZone.getAvailableIDs();
        //List of Time Zones
        for(String timeZoneID:timeZoneIDList){
            System.out.println(timeZoneID);
        }
        //What time is it in Fiji
        Calendar fijiCalendar = Calendar.getInstance(TimeZone.getTimeZone("Pacific/Fiji"));
        System.out.println("Time in Fiji->"+fijiCalendar.get(Calendar.HOUR)+":"+fijiCalendar.get(Calendar.MINUTE));
    }
这样的小城市 2024-11-07 13:43:39

如果您使用 Joda Time 那么以下应该可以工作。 (手边没有编译器)

DateTimeZone tz = DateTimeZone.forID("America/Winnipeg");
DateTime dt = new DateTime(tz);

您可以在此处获取时区 ID。请也检查 dantuch 提供的链接。

If you use Joda Time then following should work. (Don't have the compiler at hand)

DateTimeZone tz = DateTimeZone.forID("America/Winnipeg");
DateTime dt = new DateTime(tz);

You can get the Timezone Ids here. Please check the link given by dantuch too.

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