Java 预定义日期时间格式

2018-03-12 15:09 更新

Java日期时间 - Java预定义日期时间格式


预定义格式化程序在DateTimeFormatter 类中定义为常量。

  • BASIC_ISO_DATE
    格式并解析日期,而不使用两个日期组件之间的分隔符。
    例如:20140209
    20140221-0600
  • ISO_DATE
    格式并使用ISO分隔符解析日期,时间和数据时间。
    例如:2014-02-09
  • ISO_TIME
    格式并使用ISO分隔符解析日期,时间和数据时间。
    例如:15:21:32.927
    15:21:32.123-06:00
  • ISO_DATE_TIME
    格式并使用ISO分隔符解析日期,时间和数据时间。
    例如:2014-02-09-06:00
    2014-02-09T15:20:07.123-06:00
    2014-02-09T15:20:07.123-06:00[America/Chicago]
  • ISO_INSTANT
    格式并解析表示时间的即时或日期时间对象,例如UTC格式的ZonedDateTime。
    例如:2014-02-09T21:23:56.870Z
  • ISO_LOCAL_DATE
    格式或解析日期没有偏移。
    例如:2014-02-09
  • ISO_LOCAL_TIME
    格式或解析时间没有偏移。
    例如:15:30:12.123
  • ISO_LOCAL_DATE_TIME
    格式或解析无偏移的数据时间。
    例如:2014-02-09T15:29:11.214
  • ISO_OFFSET_DATE
    格式并使用ISO格式解析具有偏移量的日期。
    例如:2014-02-09-06:00
  • ISO_OFFSET_TIME
    格式并使用ISO格式解析具有偏移量的时间。
    例如:15:12:29.123-06:00
  • ISO_OFFSET_DATE_TIME
    格式并使用ISO格式解析具有偏移量的数据时间。
    例如:2014-02-09T15:33:07.07-06:0
  • ISO_ZONED_DATE_TIME
    格式并使用区域ID解析日期时间(如果可用)。
    例如:2014-02-09T15:45:49.123-06:00
    2014-02-09T15:45:12.112-06:00[America/Chicago]
  • ISO_ORDINAL_DATE
    格式并解析具有年和年的日期。
    例如:2014-009
  • ISO_WEEK_DATE
    格式并解析基于周的日期。 “2014-W02-4”表示2014年第二周的第四天。
    例如:2014-W02-4
    2014-W02-4-06:00
  • RFC_1123_DATE_TIME
    格式并使用RFC1123规范解析电子邮件的数据时间。
    例如:Thu, 9 Jan 2014 15:12:12 -060

例子

我们可以使用DateTimeFormatter类中的以下方法来格式化日期时间值。

String format(TemporalAccessor temporal)
void formatTo(TemporalAccessor temporal, Appendable  appendable)

以下代码显示如何使用ISO_DATE格式化程序格式化LocalDate,OffsetDateTime和ZonedDateTime。

import java.time.LocalDate;
import java.time.OffsetDateTime;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;

public class Main{
  public static void main(String[] argv){
    String ldStr = DateTimeFormatter.ISO_DATE.format(LocalDate.now());
    System.out.println(ldStr);
    String odtStr = DateTimeFormatter.ISO_DATE.format(OffsetDateTime.now());
    System.out.println(odtStr);
    String zdtStr = DateTimeFormatter.ISO_DATE.format(ZonedDateTime.now());
    System.out.println(zdtStr);
  }
}

上面的代码生成以下结果。


例2

我们还可以使用格式()从日期时间类格式化日期时间对象。

import java.time.LocalDate;
import java.time.OffsetDateTime;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;

public class Main {
  public static void main(String[] argv) {
    LocalDate ld = LocalDate.now();
    String ldStr = ld.format(DateTimeFormatter.ISO_DATE);
    System.out.println("Local  Date: " + ldStr);

    OffsetDateTime odt = OffsetDateTime.now();
    String odtStr = odt.format(DateTimeFormatter.ISO_DATE);
    System.out.println("Offset  Datetime: " + odtStr);

    ZonedDateTime zdt = ZonedDateTime.now();
    String zdtStr = zdt.format(DateTimeFormatter.ISO_DATE);
    System.out.println("Zoned  Datetime: " + zdtStr);
  }
}

上面的代码生成以下结果。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号