day047:时间日期类:SimpleDateFormat、LocalDateTime

55 篇文章 0 订阅
3 篇文章 0 订阅

接上节:day046:时间日期类:Date_ZQyyds:)的博客-CSDN博客

一、SimpleDateFormat概述:

1.SimpleDateFormat可以对Date对象,进行格式化解析

  • 格式化(从Date到String):public final String format(Date date)        将Date对象转为指定格式(Thu Jan 01 08:00:00 CST 1970--->1970-1-1)
  • 解析(从String到Date):public Date parse(String sourse)      将指定格式转为Date对象(1970-1-1--->Thu Jan 01 08:00:00 CST 1970)

(eg:Date对象Thu Jan 01 08:00:00 CST 1970不符合人们的阅读习惯,可以将其转为1970-1-1的形式,符合人们的阅读习惯)

2.常用的模式字母及对应关系(注意大小写!)

  • y        年
  • M       月
  • d        日
  • H       时
  • m       分
  • s        秒

eg:

2020-11-12 06:12:36        --->        yyyy-MM-dd HH:mm:ss      

20201112 06:12:36        --->        yyyyMMdd HH:mm:ss   格式一定要完全对应

3.SimpleDateFormat的构造方法

  • public SimpleDateFormat()        构造一个SimpleDateFormat,使用默认格式
  • public SimpleDateFormat(String pattern)       构造一个SimpleDateFormat,使用指定格式

代码示例:

package com.itheima.Date;
/*SimpleDateFormat可以对Date对象,进行格式化和解析
格式化(从Date到String)
解析(从String到Date)*/

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class SimpleDateFormat_Demo3 {
    public static void main(String[] args) throws ParseException {
        //SimpleDateFormat格式化:
        //创建一个Date对象
        Date date = new Date();
        //创建一个想要的指定格式
        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        //将Date对象格式化为指定格式
        String result1 = sdf1.format(date);
        System.out.println(result1);
        //输出结果:2022-05-15 22:31:55

        //SimpleDateFormat解析:
        String s = "2022-05-15 22:31:55";
        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        //注:这里的格式一定要与字符串统一,字符串里是-,则格式也是-;字符串里若是年月日,格式里也要是年月日
        Date result2 = sdf2.parse(s);
        System.out.println(result2);
        //输出结果:Sun May 15 22:31:55 CST 2022

    }
}

二、JDK8新增日期类

1.在JDK8中,Date被分为三个类:

  • LocalDate        只包含日期(年月日)        2020年11月11日
  • LocalTime       只包含时间(时分秒)         13:10:10
  • LocalDateTime     包含时间加日期(年月日时分秒)    2020年11月11日13:10:10

2.LocalDateTime对象的创建方法

  • public static LocalDateTime now()        获取当前系统时间
  • public static LocalDateTime of (年,月,日,时,分,秒)       使用指定年月日时分秒初始化一个 LocalDateTime对象

代码示例: 

public class JDK8Date_Demo {
    public static void main(String[] args) {
        //获取当前系统时间
        LocalDateTime now = LocalDateTime.now();
        System.out.println(now);
        //输出结果:2022-05-15T23:15:52.791636

        //使用指定年月日时分秒初始化一个 LocalDateTime对象
        LocalDateTime time = LocalDateTime.of(2020, 11, 23, 15, 30, 13);
        System.out.println(time);
        //输出结果:2020-11-23T15:30:13
    }
}

3.LocalDateTime获取方法

创建一个LocalDateTime对象,直接使用对象名.方法名()使用即可:

 4.LocalDateTime转换方法

将LocalDateTime转换为LocalDate或者LocalTime,可以使用以下方法,创建一个LocalDateTime对象,直接使用对象名.方法名()使用即可:

5.LocalDateTime的格式化和解析:

  •  格式化步骤:先创建一个LocalDateTime对象,调用LocalDateTime的of方法创建,再用

DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss");指定格式,
再用LocalDateTime对象调用format方法,并将指定格式对象作为形参传入即可。

  • 解析步骤:先创建一个字符串,再根据字符串的格式,调用DateTimeFormatter的ofPattern方法, 再创建一个LocalDateTime对象,调用LocalDateTime的parse方法创建,并将字符串对象和指定格式对象作为形参传入即可

代码示例:

public class LocalDateTime_Demo5 {
    public static void main(String[] args) {
        LocalDateTime localDateTime = LocalDateTime.of(2020, 11, 11, 8, 10, 33);
        method1(localDateTime);
//                  public static LocalDateTime parse(准备解析的字符串,解析格式)
        String s = "2022年11月12日 13:14:15";
        DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss");
        LocalDateTime parse = localDateTime.parse(s, pattern);
        System.out.println(parse);
    //输出结果:2022-11-12T13:14:15
    }

    private static void method1(LocalDateTime localDateTime) {
        //        public String format(指定格式)  把一个LocalDateTime格式化为一个字符串
        DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss");
        String s = localDateTime.format(pattern);
        System.out.println(s);
        //输出结果:2020年11月11日 08:10:33
    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZQyyds:)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值