Java技能点–SimpleDateFormat进行日期格式化

Java技能点–SimpleDateFormat进行日期格式化一 为啥要用 SimpleDateFo 众所周知 Java 中的日期类是 Date 然后日期默认的输出样式很奇怪哦 是这样子的 packageorg maoge common importjava util Date publicclassS publicstatic String args

点此查看全部文字教程、视频教程、源代码

1. 为啥要用SimpleDateFormat

众所周知,Java中的日期类是Date,然后日期默认的输出样式很奇怪哦,是这样子的:

package org.maoge.common; import java.util.Date; public class SimpleDateFormatDemo { 
    public static void main(String[] args) { 
    //默认输出格式 Date date=new Date(); System.out.println(date);//Fri Oct 27 16:56:37 CST 2017 } } 

真的好像说,这是什么鬼啊,神经病啊,老板要是发现你在前端把日期显示成这样子,非要…觉得你很有个性不可。

OK,所以就很需要将日期以一种我们想要的格式显示出来

另外,有时候我们需要指定一个日期,所以也需要将字符串类型转换为Date类型,我们往往会以为是这样子的:

这里写图片描述

首先我们就注意到了new Date()方法被划上了删除线,这个就表示该方法在定义的时候被@Deprecated注解注解过了,意思是该方法过期了不建议使用了可能有问题了,反正咱知道这个方法最好不用就是了。而且,确实也报错了,所以我们也需要一种将字符串转换为日期的方法

SimpleDateFormat就是为这两种需要诞生滴,类库嘛,就是前人搭棚好乘凉,而且都是牛逼的前人。

2. 日期格式化显示

首先要记住一些标记:(注意大小写)

年yyyy 月MM 日dd 时HH 分mm 秒ss 毫秒SS 

然后直接看例子:

package org.maoge.common; import java.text.SimpleDateFormat; import java.util.Date; public class SimpleDateFormatDemo { 
    public static void main(String[] args) { 
    //默认输出格式 Date date=new Date(); System.out.println(date);//Fri Oct 27 16:56:37 CST 2017 //日期格式化显示,首先定义格式 SimpleDateFormat sdf1=new SimpleDateFormat("yyyyMMdd");//显示格式 SimpleDateFormat sdf2=new SimpleDateFormat("yyyy-MM-dd");//显示2017-10-27格式 SimpleDateFormat sdf3=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//显示2017-10-27 10:00:00格式 SimpleDateFormat sdf4=new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");//显示2017年10月27日10时00分00秒格式 //将格式应用于日期 System.out.println(sdf1.format(date));// System.out.println(sdf2.format(date));//2017-10-27 System.out.println(sdf3.format(date));//2017-10-27 17:11:13 System.out.println(sdf4.format(date));//2017年10月27日17时11分13秒 } } 

3. 将字符串转换为对应日期

注意,因为可能定义的格式和实际字符串提供的格式不符合,所以会抛出异常

package org.maoge.common; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class SimpleDateFormatDemo { 
    public static void main(String[] args) { 
    //首先定义格式 SimpleDateFormat sdf1=new SimpleDateFormat("yyyyMMdd"); SimpleDateFormat sdf2=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //按格式进行转换 String strDate1="";//符合sdf1格式 String strDate2=" 10:00:00";//不符合格式 try { 
    Date date1=sdf1.parse(strDate1); System.out.println(date1);//正常输出Sat Oct 10 00:00:00 CST 2015 Date date2=sdf2.parse(strDate2);//报错java.text.ParseException: Unparseable date: " 10:00:00" System.out.println(date2); } catch (ParseException e) { 
    e.printStackTrace(); } } } 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/203752.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午9:40
下一篇 2026年3月19日 下午9:40


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号