java 获取当前时区及所在城市

项目中需要对时间格式化,并展示当前时间的时区及所在城市

    public static void main(String[] args) {
        // 传入时间
        Date date = new Date();
        // 获取当前服务器TimeZone
        String timeZoneId = TimeZone.getDefault().getID();
        // 抓取城市名称
        String[] arr = timeZoneId.split("/");
        String city = arr.length > 1 ? arr[1] : timeZoneId;
        // 格式化时间
        String dateStr = FastDateFormat.getInstance("dd/MM/yyyy HH:mm '(UTC'ZZ')'").format(date) + " " + city;
        System.out.println(dateStr);
    }

输出

26/07/2019 14:19 (UTC+08:00) Shanghai

说明

FastDateFormatorg.apache.commons.lang3.time的工具类

你可能感兴趣的:(java 获取当前时区及所在城市)