java如何定义时间格式_Java 预定义日期时间格式

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);

}

}

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

2706ab9957f368ca287a7129975650f0.png

例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);

}

}

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

b2adb2c1a34d9e37cd8d3e0a69370f62.png

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Java 8中,可以使用`DateTimeFormatter`类来格式日期。 以下是一个示例代码,可以将日期格式化为指定的字符串格式: ```java import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class DateFormatExample { public static void main(String[] args) { // 创建一个 LocalDateTime 对象 LocalDateTime now = LocalDateTime.now(); // 创建一个日期时间格式化对象 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); // 使用格式化对象将日期格式化为字符串 String formattedDateTime = now.format(formatter); // 输出格式化后的日期字符串 System.out.println("Formatted date time: " + formattedDateTime); } } ``` 在上面的示例中,我们首先创建了一个`LocalDateTime`对象,表示当前日期和时间。然后,我们使用`DateTimeFormatter`类创建了一个日期时间格式化对象,并指定了格式化字符串`"yyyy-MM-dd HH:mm:ss"`,表示年份-月份-日期 时:分:秒的格式。最后,我们使用格式化对象将`LocalDateTime`对象格式化为字符串,并输出该字符串。 ### 回答2: 在Java 8中,日期格式化是通过`DateTimeFormatter`类来实现的。这个类提供了许多预定格式化模式,也支持自定义格式化模式。 要使用`DateTimeFormatter`类进行日期格式化,首先需要创建一个实例,并指定所需的格式。例如,如果我们想将一个`LocalDate`对象格式化为"yyyy-MM-dd"的形式,可以使用以下代码: ```java LocalDate date = LocalDate.now(); // 获取当前日期 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); // 创建格式化器 String formattedDate = date.format(formatter); // 使用格式化器格式日期 System.out.println(formattedDate); // 输出格式化后的日期 ``` 上述代码中,我们首先使用`LocalDate.now()`获取了当前日期,然后创建了一个指定格式为"yyyy-MM-dd"的`DateTimeFormatter`对象。接下来,我们使用`format()`方法将`LocalDate`对象格式化为字符串,并将结果赋给`formattedDate`变量。最后,我们通过`System.out.println()`方法将格式化后的日期输出到控制台。 除了预定格式化模式,`DateTimeFormatter`还支持自定义格式化模式,可以根据需求灵活设置日期格式。比如,如果我们想将日期格式化为"MM/dd/yyyy HH:mm:ss"的形式,可以使用以下代码: ```java LocalDateTime dateTime = LocalDateTime.now(); // 获取当前日期时间 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd/yyyy HH:mm:ss"); // 创建格式化器 String formattedDateTime = dateTime.format(formatter); // 使用格式化器格式日期时间 System.out.println(formattedDateTime); // 输出格式化后的日期时间 ``` 上述代码中,我们使用`LocalDateTime.now()`获取了当前日期时间,然后创建了一个指定格式为"MM/dd/yyyy HH:mm:ss"的`DateTimeFormatter`对象。接下来,我们使用`format()`方法将`LocalDateTime`对象格式化为字符串,并将结果赋给`formattedDateTime`变量。最后,我们通过`System.out.println()`方法将格式化后的日期时间输出到控制台。 总结起来,Java 8提供了强大且灵活的日期格式化功能,通过`DateTimeFormatter`类可以方便地进行日期格式化。无论是使用预定格式化模式还是自定义格式化模式,我们都可以通过`format()`方法将日期格式化为所需的形式。 ### 回答3: Java 8 引入了新的日期时间 API,使日期格式化变得更加简单和灵活。在Java 8之前,我们通常使用SimpleDateFormat类来格式日期,但这个类存在线程安全问题。Java 8 的新日期时间 API是线程安全的,并且提供了一种更好的方式来格式日期Java 8 提供了DateTimeFormatter类,用于格式日期和时间。我们可以使用DateTimeFormatter的ofPattern()方法,传入一个模式来指定日期格式。模式是一个由各种字符组成的字符串,每个字符代表了一个日期或时间元素的格式。例如,"yyyy-MM-dd"代表了年份、月份和日期格式。 下面是一个例子,展示了如何使用DateTimeFormatter来格式日期: ```java import java.time.LocalDate; import java.time.format.DateTimeFormatter; public class DateTimeFormatting { public static void main(String[] args) { LocalDate currentDate = LocalDate.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); String formattedDate = currentDate.format(formatter); System.out.println("Formatted date: " + formattedDate); } } ``` 上述代码中,我们首先获取了当前日期,并创建了一个DateTimeFormatter对象来指定日期格式。然后,我们使用format()方法将当前日期格式化为指定格式的字符串。最后,我们输出格式化后的日期。 运行上述代码,将会得到类似于"2022-01-01"的格式日期。 除了日期之外,我们还可以格式化时间和日期时间。DateTimeFormatter还提供了对应的字符来表示小时、分钟、秒等时间元素的格式。 总的来说,Java 8提供了简单、安全和灵活的日期格式化方式,通过DateTimeFormatter类的ofPattern()方法,我们能轻松地指定任何我们想要的日期格式

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值