2

我想根据语言环境获取当前日期/时间。如果我通过 locale 对象,我需要获取该国家/地区的相关日期/时间。

4

3 回答 3

2

从 Java 8 开始,您拥有LocalDateTime并且ZonedDateTime

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

获取区域 ID

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

然后获取日期和时间

ZonedDateTime zonedDateTime = ZonedDateTime.now(zoneId);

于 2018-08-01T13:22:54.277 回答
0
    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));
    }
于 2011-04-08T10:41:47.903 回答
0

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

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

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

于 2011-04-08T11:10:31.287 回答