开发手册 欢迎您!
软件开发者资料库

Java内化 - UTC

Java内部化UTC - 从基本到高级概念的简单简单步骤学习Java内部化,其中包括概述,环境设置,区域设置,区域设置详细信息,显示语言,ResourceBundle,NumberFormat,格式货币,格式百分比,设置最小/最大精度,设置舍入模式,解析数字,DecimalFormat,格式数字,特定于区域设置的DecimalFormat,DecimalFormatSymbols,分组数字,DateFormat,格式化日期,格式化时间,格式化日期和时间,SimpleDateFormat,解析日期,特定于语言环境的SimpleDateFormat,DateFormatSymbols,UTC,转换时区,可用时区

UTC代表协调世界时.它是时间标准,在世界各地都很常用.所有时区都与UTC相比计算为偏移量.例如,丹麦哥本哈根的时间是UTC + 1表示UTC时间加一小时.它独立于Day light节省,应该用于在数据库中存储日期和时间.

时区转换

以下示例将展示转换各种时区.我们将以毫秒为单位打印一天中的小时和时间.第一个会有所不同,第二个会保持不变.

IOTester.java

import java.text.ParseException;import java.util.Calendar;import java.util.GregorianCalendar;import java.util.TimeZone;public class I18NTester {   public static void main(String[] args) throws ParseException {         Calendar date = new GregorianCalendar();      date.setTimeZone(TimeZone.getTimeZone("Etc/UTC"));      date.set(Calendar.HOUR_OF_DAY, 12);      System.out.println("UTC: " + date.get(Calendar.HOUR_OF_DAY));      System.out.println("UTC: " + date.getTimeInMillis());      date.setTimeZone(TimeZone.getTimeZone("Europe/Copenhagen"));      System.out.println("CPH: " + date.get(Calendar.HOUR_OF_DAY));      System.out.println("CPH: " + date.getTimeInMillis());      date.setTimeZone(TimeZone.getTimeZone("America/New_York"));      System.out.println("NYC: " + date.get(Calendar.HOUR_OF_DAY));      System.out.println("NYC: " + date.getTimeInMillis());   }}

输出

它将打印以下结果.

UTC: 12UTC: 1511956997540CPH: 13CPH: 1511956997540NYC: 7NYC: 1511956997540

可用时区

以下示例将展示系统可用的时区.

IOTester.java

import java.text.ParseException;import java.util.TimeZone;public class I18NTester {   public static void main(String[] args) throws ParseException {      String[] availableIDs = TimeZone.getAvailableIDs();      for(String id : availableIDs) {         System.out.println("Timezone = " + id);      }   }}

输出

它将打印以下内容结果.

Timezone = Africa/AbidjanTimezone = Africa/Accra...Timezone = VST