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

时间:2011-04-08 10:21:53

标签: java date time locale country

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

TIA。

3 个答案:

答案 0 :(得分:1)

从Java 8开始,您有了LocalDateTimeZonedDateTime

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

获取区域ID

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

然后获取日期和时间

ZonedDateTime zonedDateTime = ZonedDateTime.now(zoneId);

答案 1 :(得分: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));
    }

答案 2 :(得分:0)

如果您使用Joda Time,则以下情况应该有效。 (手头没有编译器)

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

您可以获取时区ID here。请检查dantuch给出的链接。