Java小白入门200例60之SimpleDateFormat时间格式化详解
Posted 编程界明世隐
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java小白入门200例60之SimpleDateFormat时间格式化详解相关的知识,希望对你有一定的参考价值。
作者简介
作者名:编程界明世隐
简介:CSDN博客专家,从事软件开发多年,精通Java、javascript,博主也是从零开始一步步把学习成长、深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢迎您关注,期待与您一起学习、成长、起飞!
引言
很多Java初学者问我,新手明明很用心、很努力学习的Java知识,转头又忘记了,很让人犯愁,小白如何能够快速成长、成为大牛呢?
其实要成为大神的技巧只有一个:“多学多练”,于是明哥就整理了比较典型的练习实例,通过练习能够快速提升编码技巧和熟练度,让你在成为大佬的路上一去不复返(切记要亲手练习哦)!
导航
✪ Java小白入门200例系列目录索引
◄上一篇 59.用Calendar实现日历的打印
►下一篇 61.java中Date日期类型的大小比较
概述
SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类,它允许进行格式化(日期→文本)、解析(文本→日期)和规范化。
常用构造方法
构造方法 | 描述 |
---|---|
SimpleDateFormat() | 用默认的格式和默认的语言环境构造 SimpleDateFormat。 |
SimpleDateFormat(String pattern) | 用指定的格式和默认的语言环境构造 SimpleDateFormat。 |
SimpleDateFormat(String pattern,Locale locale) | 用指定的格式和指定的语言环境构造 SimpleDateFormat。 |
自定义格式中常用的字母及含义
字母 | 含义 | 示例 |
---|---|---|
y | 年份。 | 一般用 yy 表示两位年份,yyyy 表示 4 位年份 使用 yy 表示的年扮,如 11;使用 yyyy 表示的年份,如 2011 |
M | 月份。 | 一般用 MM 表示月份,如果使用 MMM,则会根据语言环境显示不同语言的月份 使用 MM 表示的月份,如 05;使用 MMM 表示月份,在 Locale.CHINA语言环境下,如“十月”;在 Locale.US语言环境下,如 Oct |
d | 月份中的天数。 | 一般用 dd 表示天数 使用 dd 表示的天数,如 10 |
D | 年份中的天数。 | 表示当天是当年的第几天, 用 D 表示 使用 D 表示的年份中的天数,如 295 |
E | 星期几。 | 用 E 表示,会根据语言环境的不同, 显示不同语言的星期几 使用 E 表示星期几,在 Locale.CHINA 语言环境下,如“星期四”;在 Locale.US 语言环境下,如 Thu |
H | 一天中的小时数(0~23)。 | 一般用 HH 表示小时数 使用 HH 表示的小时数,如 18 |
h | 一天中的小时数(1~12)。 | 一般使用 hh 表示小时数 使用 hh 表示的小时数,如 10 (注意 10 有可能是 10 点,也可能是 22 点) |
m | 分钟数。 | 一般使用 mm 表示分钟数 使用 mm 表示的分钟数,如 29 |
s | 秒数。 | 一般使用 ss 表示秒数 使用 ss 表示的秒数,如 38 |
S | 毫秒数。 | 一般使用 SSS 表示毫秒数 使用 SSS 表示的毫秒数,如 156 |
实例展示
实例1
格式化时间,输出年月日的几种方式
package demo.demo60;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Fomat1 {
public static void main(String[] args) {
SimpleDateFormat f1=new SimpleDateFormat("yyyy/MM/dd");
SimpleDateFormat f2=new SimpleDateFormat("yyyyMMdd");
SimpleDateFormat f3=new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat f4=new SimpleDateFormat("yyyy年MM月dd日");
Date date = new Date();
System.out.println(f1.format(date));
System.out.println(f2.format(date));
System.out.println(f3.format(date));
System.out.println(f4.format(date));
}
}
运行结果:
2021/09/13
20210913
2021-09-13
2021年09月13日
实例2
格式化时间,输出年月日\\时分秒的几种方式
package demo.demo60;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Fomat2 {
public static void main(String[] args) {
SimpleDateFormat f1=new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
SimpleDateFormat f2=new SimpleDateFormat("yyyyMMddHHmmss");
SimpleDateFormat f3=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat f4=new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");
Date date = new Date();
System.out.println(f1.format(date));
System.out.println(f2.format(date));
System.out.println(f3.format(date));
System.out.println(f4.format(date));
}
}
运行结果
2021/09/13 11:16:37
20210913111637
2021-09-13 11:16:37
2021年09月13日11时16分37秒
实例3
格式化后包含星期
package demo.demo60;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Fomat3 {
public static void main(String[] args) {
SimpleDateFormat f1=new SimpleDateFormat("yyyy/MM/dd HH:mm:ss E");
SimpleDateFormat f2=new SimpleDateFormat("yyyyMMddHHmmss E");
SimpleDateFormat f3=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss E");
SimpleDateFormat f4=new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒 E");
Date date = new Date();
System.out.println(f1.format(date));
System.out.println(f2.format(date));
System.out.println(f3.format(date));
System.out.println(f4.format(date));
}
}
运行结果:
2021/09/13 11:17:59 星期一
20210913111759 星期一
2021-09-13 11:17:59 星期一
2021年09月13日11时17分59秒 星期一
实例4
将yyyy-MM-dd HH:mm:ss 格式的String转换成Date
package demo.demo60;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Fomat4 {
public static void main(String[] args) {
//Date指定格式:yyyy-MM-dd HH:mm:ss
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String string = "2021-09-13 11:00:10";
//传入的格式必须符合simpleDateFormat对象的格式,即"yyyy-MM-dd HH:mm:ss" 否则会报错
Date d=null;
try {
d = simpleDateFormat.parse(string);
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println(d);
}
}
运行结果:
Mon Sep 13 11:00:10 CST 2021
实例5
将“yyyy年MM月dd日 HH时mm分ss秒” 格式的转换为Date
package demo.demo60;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Fomat5 {
public static void main(String[] args) {
//Date指定格式:yyyy年MM月dd日 HH时mm分ss秒
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
String string = "2021年9月13日 11时20分20秒";
//传入的格式必须符合simpleDateFormat对象的格式,即"yyyy年MM月dd日 HH时mm分ss秒" 否则会报错
Date d=null;
try {
d = simpleDateFormat.parse(string);
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println(d);
}
}
运行结果:
Mon Sep 13 11:20:20 CST 2021
小结
这节总结了“SimpleDateFormat时间格式化详解”,希望能对大家有所帮助,请各位小伙伴帮忙 【点赞】+【收藏】+ 【评论区打卡】, 如果有兴趣跟小明哥一起学习Java的,【关注一波】不迷路哦。
评论区打卡一波让我知道你,明哥会持续关注你的学习进度哦!
导航
✪ Java小白入门200例系列目录索引
◄上一篇 59.用Calendar实现日历的打印
►下一篇 61.java中Date日期类型的大小比较
热门专栏推荐
1.Java小游戏系列(俄罗斯方块、飞机大战、植物大战僵尸等)
2.JavaWeb项目实战(图书管理、在线考试、宿舍管理系统等)
3.JavaScript精彩实例(飞机大战、扫雷、贪吃蛇、验证码等)
4.Java小白入门200例
5.从零学Java、趣学Java、以王者荣耀角度学Java
以上是关于Java小白入门200例60之SimpleDateFormat时间格式化详解的主要内容,如果未能解决你的问题,请参考以下文章
Java小白入门200例105之Java ArrayList类