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

作者 : 开心源码 本文共1207个字,预计阅读时间需要4分钟 发布时间: 2022-05-12 共253人阅读

一、前言

在进行开发工作中,经常会面对两种操作。
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);

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Joda-Time DateTimeFormatter 日期格式化与解析

发表回复