Joda-Time DateTimeFormatter 日期格式化与解析

 

一、前言

在进行开发工作中,经常会面对两种操作。
1、把时间对象格式化成字符串后存储下来
1、把格式化好的字符串解析成时间对象
Joda-Time为这两个核心需求的解决方案就是DateTimeFormatter。
额外提一点,DateTimeFormatter在格式化和解析时是支持时区的。

二、核心对象:

2.1 DateTimeFormatter

日期格式化与解析

2.2 LocalDate

本地日期(没有时间,没有时区)

2.3 LocalTime

本地时间(没有日期,没有时区)

2.4 LocalDateTime

本地日期时间(没有时区)

2.5 DateTime

日期时间(支持时区转换)

三、示例

1、当前日期yyyy-MM-dd格式化

        //当前本地日期,没有时区
        LocalDate date = LocalDate.now();
        //时间日期格式化,表达式与熟知的一样
        DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM-dd");
        //2018-11-29
        String dateStr = fmt.print(date);

2、当前日期时间yyyy-MM--dd HH:mm:ss格式化

        //当前日期时间,没有时区
        LocalDateTime now = LocalDateTime.now();
        //日期格式化,通用时间表达式
        DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
        //2018-11-29 08:08:24
        String nowStr = fmt.print(now);

3、解析日期时间并使用系统时区(example: 2019-10-28 10:23:12 )

        String dateStr = "2019-10-28 10:23:12";
        //根据时间表达式生成DateTimeFormatter对象
        DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
        //2019-10-28T10:23:12.000+08:00
        DateTime dateTime = fmt.parseDateTime(dateStr);

3、解析日期时间并设置时区 (example:2019-10-28 10:23:12)

        String dateStr = "2019-10-28 10:23:12";
        //日期解析,通用时间表达式
        DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss").withZone(DateTimeZone.forOffsetHours(6));
        //2019-10-28T10:23:12.000+06:00
        DateTime dateTime = fmt.parseDateTime(dateStr);

 参考:https://blog.csdn.net/belalds/article/details/89945248

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值