美文网首页Joda time程序员
Joda-Time DateTimeFormatter 日期格式

Joda-Time DateTimeFormatter 日期格式

作者: ba2cb747365a | 来源:发表于2018-11-29 08:32 被阅读1261次

    一、前言

    在进行开发工作中,经常会面对两种情况。一是需要把时间格式化成字符串后存储下来。二是需要把格式化好的字符串解析成时间进行运算。Joda-Time针对这两个核心需求的解决方案就是DateTimeFormatter,DateTimeFormatter在解析时支持时区。

    二、核心对象:

    2.1 DateTimeFormatter

    日期格式化与解析

    2.2 LocalDate

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

    2.3 LocalTime

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

    2.4 LocalDateTime

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

    三、正文

    用yyyy-MM-dd格式打印出当前日期

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

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

    解析 2019-10-28 10:23:12

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

    解析 伦敦时区 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);
    

    相关文章

      网友评论

        本文标题:Joda-Time DateTimeFormatter 日期格式

        本文链接:https://www.haomeiwen.com/subject/ygfxcqtx.html