java零基础入门-日期时间类之DateFormat类

598 阅读5分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第17天,点击查看活动详情

哈喽,各位小伙伴们好,我是喵手。

       今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流学习,互相学习,才能成长的更快,对吧。

       我是一名java开发,所以日常接触到最多的就是java啦,所以我趁自己有空,就来好好回忆,把自己学到的会的,进行输出,不图什么有回报,只想能帮助到更多的小伙伴,就好。

小伙伴们在批阅的过程中,如果觉得文章不错,欢迎点赞、收藏、关注哦。三连即是对喵手我创作道路上最好的鼓励与支持!

一、前言

       上几期,我们分别讲了Object类与Date类,对吧,如果回忆不起来的,可以看看我如下给大家准备的快捷跳转链接,希望能帮助你去对应的文章进行回忆:

       这期我接着给大家讲日期时间类之DateFormat类,想必大家都并不陌生吧,如果对于日期/时间,需要转化怎么处理?那么就是通过这个类来实现的,java特地提供出来就是为了方便Date时间对象与String对象之间来回转化。

二、正文

       DateFormat类,包路径:java.text.DateFormat。通过这个类我们可以实现什么?

  • 按照指定的格式,将Date对象转换成String时间字符串。
  • 按照指定格式,从String时间字符串转换成Date时间对象。

       从源码上,我们可以看到DataFormat是一个抽象类,不能直接拿来使用。

       所以通常我们是使用它的子类SimpleDateFormat(java.text.SimpleDateFormat) ,然而使用这个类,也有一个固定格式来指定格式化或者解析,构造方法如下:​​

public SimpleDateFormat(java.lang.String pattern) {
 /* compiled code */
}

其作用是用给定的模式和默认语言环境的日期格式符号构造SimpleDateFormat。

其中参数pattern 是一个日期格式的字符串,它是有规则的。具体如下:

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

如下我就演示一下如何创建一个SimpleDateFormat对象吧。

@Test
public void test() {
    DateFormat format = new SimpleDateFormat("yyyy‐MM‐dd HH:mm:ss");
}

三、常用方法

       说起DateFormat类,那它的常用方法就有如下两种:

  • public String format(Date date) :将Date对象格式化为字符串。
  • public Date parse(String source) :将字符串解析为Date对象。  

       这是你会在日常开发中经常会遇到的,所以你必须把这两方法用透,目的就是为了提高开发效率。

四、实例演示

1、format()方法

       如下我们就来定义一个Test测试类,然后获取一个当前时间的Date类,然后指定字符串时间格式为“yyyy‐MM‐dd HH:mm:ss” ,然后再打印输出试试。

@Testpublic void test() {

    Date date = new Date();

    //定义时间格式输出
    DateFormat format = new SimpleDateFormat("yyyy‐MM‐dd HH:mm:ss");

    //将Date对象转String时间字符串
    String dateStr = format.format(date);

    System.out.println(dateStr);
}

实际运行截图如下:

       ​很明显可以看到,是按指定时间格式输出​,那我们再演示一种吧,换为别的时间格式,看看是否​也能成功?

​​​       ​ok!也是可以的,所以​没有固定时间格式,看具体需求定义即可。​​

2、parse()方法

       接下来,我们来看下parse()方法,它就与上述所讲的SimpleDateFormat()是相反的,它是能将时间字符串转化成Date时间对象。

接下来,我们直接来演示一个实例,你们就能体会到了。

演示代码具体如下:

@Test
public void test() throws ParseException {

    Date date = new Date();
    //定义时间格式输出
    DateFormat format = new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");

    //将Date对象转String时间字符串
    String dateStr = format.format(date);
    System.out.println("Date对象转字符串:"+dateStr);

    //将时间字符串转Date对象。
    Date parse = format.parse(dateStr);
    System.out.println("时间字符串转Date:"+parse);
}

实际演示控制台截图如下:

       我们再来​铜鼓指定一个时间字符串试试看。​​

演示代码具体如下:

@Test
public void test() throws ParseException {

    //定义时间格式输出
    DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    //将Date对象转String时间字符串
    String strDate = "2022-05-20 05:20:00";

    Date parse = format.parse(strDate);
    System.out.println("时间字符串转Date:"+parse);
}

实际演示控制台截图如下:

       ok!演示就到此结束,希望看我​文章的小伙伴可以勤​加练习,早日掌握。​

   ... ...

       好啦,以上就是DateFormat类的基常规使用啦,如果对文中的任何知识点有疑问,欢迎评论区评论留言呀,我看见都会一一解答的。

五、结尾

       教学是结束了,但是有些话不知我但讲不当讲,啊哈哈, 可我还是想说给你们听听。如下是我很喜欢的一句话,我打算送给你们,希望我们都能变得更好更优秀。

学习不分先后,知识不分多少;事无巨细,当以虚心求教;三人行,必有我师焉!!!

wished for you successed !!!

-------------------------------------------

⭐️若喜欢我,就请关注我叭。

⭐️若对您有用,就请点赞叭。

⭐️若有疑问,就请评论留言告诉我叭。

-------------------------------------------