Java8 时间日期API ---DateTimeFormatter

本文介绍了Java8中关于日期时间API的更新,重点讨论了DateTimeFormatter的使用,包括LocalDate、LocalTime、LocalDateTime、ZonedDateTime以及ZoneId和ZoneOffset的概念。文章指出,新的日期时间API具有不可变性和线程安全性,而DateTimeFormatter提供了安全的格式化和解析功能,支持自定义格式。同时,还提醒读者注意日期格式的细节,如“MMM d yyyy”和“MMM dd yyyy”的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

**

时间格式化LocalDate,DateTimeFormatter—>parse,ofParttern

**
**Instant:**瞬时实例。
**LocalDate:**本地日期,不包含具体时间 例如:2014-01-14 可以用来记录生日、纪念日、加盟日等。
**LocalTime:**本地时间,不包含日期。
**LocalDateTime:**组合了日期和时间,但不包含时差和时区信息。
**ZonedDateTime:**最完整的日期时间,包含时区和相对UTC或格林威治的时差。
新API还引入了ZoneOffSet和ZoneId类,使得解决时区问题更为简便。解析、格式化时间的DateTimeFormatter类也全部重新设计.

使用方法:

public static final DateTimeFormatter YYYYMMDD_PATTERN_FORMARTTER = DateTimeFormatter .ofPattern("yyyyMMdd");

public static final DateTimeFormatter YYYY_MM_DD_PATTERN_FORMARTTER = DateTimeFormatter .ofPattern("yyyy_MM_dd");

public static final DateTimeFormatter YYYYMMDDHHMMSS_PATTERN_FORMARTTER = DateTimeFormatter .ofPattern("yyyyMMddHHmmss");

public static final DateTimeFormatter YYYY_MM_DD_HH_MM_SS_PATTERN_FORMARTTER = DateTimeFormatter .ofPattern("yyyy_MM_dd HH:mm:ss");

//将“yyyy_MM_dd”格式字符串转换成“yyyyMMdd”格式字符串
private String getDateString(String str){
	  LocalDate parse = **LocalDate**.parse(str, YYYY_MM_DD_PATTERN_FORMARTTER);
	  String format = parse.format (YYYYMMDD_PATTERN_FORMARTTER );
	  return format ;
}

//将“yyyy_MM_dd HH:mm:ss”格式字符串转换成“yyyyMMddHHmmss”格式字符串
private String getDateString(String str){
	  LocalDate parse = **LocalDateTime**.parse(str, YYYY_MM_DD_HH_MM_SS_PATTERN_FORMARTTER );
	  String format = parse.format(YYYYMMDDHHMMSS_PATTERN_FORMARTTER );
	  return format ;
}

//将“yyyyMMdd”格式字符串转换成“yyyy_MM_dd”格式字符串
private String getDateString(String str){
	  LocalDate parse = **LocalDate**.parse(str, YYYYMMDD_PATTERN_FORMARTTER );
	  String format = parse.format (YYYY_MM_DD_PATTERN_FORMARTTER);
	  return format ;
}

//将“yyyyMMddHHmmss”格式字符串转换成“yyyy_MM_dd HH:mm:ss”格式字符串
private String getDateString(String str){
	  LocalDate parse = **LocalDateTime**.parse(str, YYYYMMDDHHMMSS_PATTERN_FORMARTTER );
	  String format = parse.format(YYYY_MM_DD_HH_MM_SS_PATTERN_FORMARTTER );
	  return format ;
}

API使用:

public class TimeTest {
    public static void main(String[] args) {
        //获取当前时间
        LocalDate today = LocalDate.now();
        System.out.println("localDate:"+today);
       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值