Joda time程序员

Joda-Time DateTimeFormatter 日期格式

2018-11-29  本文已影响1261人  ba2cb747365a

一、前言

在进行开发工作中,经常会面对两种情况。一是需要把时间格式化成字符串后存储下来。二是需要把格式化好的字符串解析成时间进行运算。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);
上一篇下一篇

猜你喜欢

热点阅读