美文网首页
《日子》.JAVA基础篇章.日期时间

《日子》.JAVA基础篇章.日期时间

作者: 战神汤姆 | 来源:发表于2015-04-13 15:45 被阅读0次

基本概念

时区 :time zone 1884年国际经线会议规定,全球按经度分为24个时区,每区各占经度15°。

以本初子午线为中央经线的时区为零时区,由零时区向东、西各分12区,东、西12区都是半时区,共同使用180°经线的地方时。

CST :China Standard Time UTC+8:00 中国标准时间(北京时间),在东八区

UTC :Universal Time Coordinated,世界协调时间,又称世界标准时间、世界统一时间。UTC 提供了一种与时区无关(或非特定于时区)的时间。

世界上的所有时区都可以表示为 UTC 加上或减去一个偏移量。

因此,UTC是0时区的时间,如北京为早上八点(东八区),UTC时间就为零点,时间比北京时晚八小时

GMT :Greenwich Mean Time格林威治标准时间,指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线。

Unix timestamp :Unix时间戳,或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,

定义为从格林威治时间(UTC/GMT的午夜)1970年01月01日00时00分00秒起至现在的总秒数。

可以这么说:

UTC和GMT几乎是同一概念,两者的区别是GMT是一个天文上的概念,UTC是基于原子钟。

GMT=UTC

GMT + 8 = UTC + 8 = CST

UTC+时间差=本地时间 (时间差东为正,西为负,东八区记为 +0800)

总结

System.currentTimeMillis():可以提取到当前时间的毫秒数,产生一个当前的毫秒,这个毫秒其实就是自1970年1月1日0时起的毫秒数。等同于new Date().getTime()  

java.util.Date代表一个时间点,其值为距公元1970年1月1日 00:00:00的毫秒数。所以它是没有时区和Locale概念的。java通过如下形式取得当前时间点:Date now = new Date();  //这个时间点与本地系统的时区无关

而正因为其与时区的无关性,才使得我们的存储数据(时间)是一致的(时区一致性)。

一般的我们将now存储于数据库中,当我们需要展现数据时,将now格式化成想要的格式,如:2015-04-13 21:22:24

而这个功能一般交由java.text.DateFormat来实现。例如:

1SimpleDateFormat sdf =newSimpleDateFormat("yyyy-MM-dd HH:mm:ss");

2String snow = sdf.format(now);

如果想支持国际化时间,则先指定时区,然后再格式化date数据。例如:

SimpleDateFormat sdf =newSimpleDateFormat("yyyy-MM-dd HH:mm:ss");

2sdf.setTimeZone(TimeZone.getTimeZone("GMT+8"));

3String snow = sdf.format(now);// snow = 2015-04-04 21:22:24

4sdf.setTimeZone(TimeZone.getTimeZone("GMT+7"));

5String snow2 = sdf.format(now);// snow2 = 2015-04-04 20:22:24 (可见:东八区比东七区早一个小时)

另外,你可以通过如下代码修改本地时区信息:

TimeZone.setDefault(TimeZone.getTimeZone("GMT+8"));

相关文章

  • 《日子》.JAVA基础篇章.日期时间

    基本概念 时区 :time zone 1884年国际经线会议规定,全球按经度分为24个时区,每区各占经度15°。 ...

  • Java基础 日期和时间!!!

    java.util 包提供了 Date 类来封装当前的日期和时间。 Date 类提供两个构造函数来实例化 Date...

  • Java基础 日期和时间(二)

    日期和时间的格式化编码 时间模式字符串用来指定时间格式。在此模式中,所有的 ASCII 字母被保留为模式字母,定义...

  • Java基础系列-时间日期API

    原创文章,转载请标注出处:《Java基础系-列时间日期API》 一、概述 Java提供了有关时间的类和API,可以...

  • Java8 日期/时间 API 包解释

    java.time 包:这是新的 Java 日期/时间 API 的基础包,所有的主要基础类都是这个包的一部分,如:...

  • Java日期时间

    Data类 Java.util包提供了Data类来封装当前的日期和时间。它有2个构造函数: public Date...

  • Java 日期时间

    Date java.util 包提供了 Date 类来封装当前的日期和时间。 Date 类提供两个构造函数来实例化...

  • Java 日期时间

    java.util 包提供了Date类来封装当前的日期时间。Date类提供两个构造函数来实例化Date对象。 第二...

  • Java 日期时间

    一.Date类 java.util 包提供了 Date 类来封装当前的日期和时间。 1.构造方法 使用当前日期和时...

  • Java 日期时间

    java.util包提供了 Date 类来封装当前的日期和时间。 Date 类提供两个构造函数来实例化 Date ...

网友评论

      本文标题:《日子》.JAVA基础篇章.日期时间

      本文链接:https://www.haomeiwen.com/subject/aywtfttx.html