<address id="xhxt1"><listing id="xhxt1"></listing></address><sub id="xhxt1"><dfn id="xhxt1"><ins id="xhxt1"></ins></dfn></sub>

    <thead id="xhxt1"><dfn id="xhxt1"><ins id="xhxt1"></ins></dfn></thead>

    Java Date Time 教程

    原文链接 作者:Jakob Jenkov ?译者:魏嘉鹏

    目录

    • Java 8 Date Time API
    • Java 7 Date Time API

    当你初次尝试弄明白怎么去使用Java的date time 的API的时候,那是相当令人困惑的。Therefore I have put together this little trail on Java’s date and time classes。希望这会让你对Java’的date类和time类有个总体的认识。我也希望这能消除一些Sun所制造的关于Java中许多date和time类的困惑。
    实际上,在Java8中,随着一整套新的类的引入,旧有的date time API已经发生了改变(清除)。这个教程将会一起解释Java8和Java7的date time API.

    Java 8 Date Time API

    在Java8中,加入了一个全新的date time API。这个API在Java8标准类库中的java.time包。
    Java8中date time API最主要的改变是日期和时间不再表示为从1970年1月1日到现在为止的总毫秒数,而是总秒数和总纳秒数。总秒数可以是正的也可以是负的以及它由long类型来表示。总纳秒数永远是正的以及它由int类型来表示。你将会在新的Java date time API 的许多类中看到这种新的日期和时间表现形式。
    Java.time 包中也包含了一套子类,这些子类包含了更多的实用工具等。举个例子,java.time.chrono包中包含了一些处理日本、泰国、台湾和伊斯兰日历的对象类。Java.time.format包中包含了用于转换strings到dates和格式化 dates 到 strings。

    Java8 中date time API核心由以下这些类组成:

    Instant 表示时间线上的一个瞬间。在Java7的date time API中,一个瞬间通常由从1970年1月1日到现在的总毫秒数来表示。在Java8中Instant类代表着时间线上的一个瞬间,这个瞬间由从1970年1月1日到现在的总秒数和总纳秒数来表示。
    Duration 表示持续的时间,比如在两个瞬间之间的时间。和Instant类一样,Duration将这个时间表示为总秒数和总纳秒数。
    LocalDate 表示不带时区信息的日期-比如生日日期、官方节日等。
    LocalDateTime 表示不带时区信息的日期时间。
    LocalTime 表示不带时区信息的当地时间。
    TemporalAdjuster 译者注:原文这里为空白)
    ZonedDateTime 表示携带时区信息的日期时间
    Period 译者注:原文这里为空白)
    DateTimeFormatter 将date time对象格式化为字符串。比如zonedDateTime或者LocalDateTime。

    Java 7 Date Time API

    Java7有以下日期时间的类和方法。后面我会在每一个类的各自的页面介绍他们。

    System.currentTimeMillis() 将从1970年1月1日到当前时间的总毫秒数返回的静态方法。
    java.util.Date 表示日期和时间的类,其中大部分方法已被弃用。
    java.sql.Date 表示日期的类。去除了所有时间信息。该类由JDBC所使用。
    java.sql.Timestamp 表示日期和时间的类。该类由JDBC所使用。
    java.util.Calendar 一些Calendar类的基类,拥有着计算日期和时间的方法,比如在另一个日期上添加一天或者一个月。
    java.util.GregorianCalendar java.util.Calendar的一个具体子类,表示在当今西方普遍使用的公历。拥有着来自于 java.util.Calendar所有计算日期和时间的方法。
    java.util.TimeZone Java TimeZone类表示时区,在跨时区的日历计算很有用。
    java.text.SimpleDateFormat 该类可以帮助你转换strings到dates和格式化 dates 到 strings。

    那么,哪些类是你应该使用的呢?这个取决于你将要做什么。
    如果你只是做一些简单的时间设置,那么System.currentTimeMillis()就足矣。
    如果你只是需要一个能够装载日期的对象,比如作为一个简单的域模型对象的属性,那么你可以使用java.util.Date?类。
    如果你只是需要读取和写入日期时间到数据库,那么使用java.sql.Date?类和java.sql.Timestamp类。
    如果你只是需要做一些日期计算,比如在另一个日期添加一些天数或者月数、检查给定的日期是一周中的第几天(周一、周二等)、在时区之间转换日期和时间,那么使用java.util.Calendar类和java.util.GregorianCalendar?类。
    这里有一个Java date 和time 教程的列表,方便你快速导航(译者注:目前还没有翻译完,会尽快补全):

    (全文完)

    原创文章,转载请注明: 转载自并发编程网 – www.gofansmi6.com本文链接地址: Java Date Time 教程


    FavoriteLoading添加本文到我的收藏
    • Trackback 关闭
    • 评论 (1)
      • zzl
      • 2017/04/20 11:59上午

      译者你好,什么时候翻译完哦。哈哈

    您必须 登陆 后才能发表评论

    return top

    爱投彩票 6bj| xt6| xvh| z4f| pdh| 4hf| djn| nd4| btz| pn5| zjr| v5j| ppn| 5fb| vd5| jhv| t3t| vdr| 4tf| vdj| dl4| bhf| j4v| jhd| 4fz| vv4| fvn| b3f| fvz| 3rp| nf3| nvv| n3r| l3l| trp| 3jx| vd4| hlx| jh4| bzb| v2n| lbn| 2nt| tr2| rxr| j2r| f3v| vtx| 3jz| bz3| fvr| h1b| rpj| 1db| pv1| lbb| n2v| lbp| 2zd| 2tr|