SimpleDateFormat的使用

本文详细介绍Java中SimpleDateFormat类的使用方法,包括日期格式化、解析字符串为日期、处理日期中的小数及设置Calendar的解析模式。并通过实例演示如何使用SimpleDateFormat进行日期的格式化和解析。

SimpleDateFormat的使用

SimpleDateFormat函数语法:(格式化时间)
G 年代标志符
y 年
M 月
d 日
h 时 在上午或下午 (1~12)
H 时 在一天中 (0~23)
m 分
s 秒
S 毫秒
E 星期
D 一年中的第几天
F 一月中第几个星期几
w 一年中第几个星期
W 一月中第几个星期
a 上午 / 下午 标记符
k 时 在一天中 (1~24)
K 时 在上午或下午 (0~11)
z 时区
大小写一定要区分,有坑,比如月是M,分是m
SimpleDateFormat aDate=new SimpleDateFormat(“yyyy/MM/dd”);
SimpleDateFormat bDate=new SimpleDateFormat(“yyyy/mm/dd”);
String now1=“2018/12/24”;
aDate.setLenient(false);
Date d = aDate.parse(now1);
Date e = bDate.parse(now1);
System.out.println(d);
System.out.println(e);

结果: Mon Dec 24 00:00:00 GMT+08:00 2018
Wed Jan 24 00:12:00 GMT+08:00 2018

parse(将字符串转为日期)

SimpleDateFormat aDate=new SimpleDateFormat(“yyyy/MM/dd”);
String now1=“2018/12/32”;
aDate.setLenient(true);
Date d = aDate.parse(now1);
System.out.println(d);

结果:Tue Jan 01 00:00:00 GMT+08:00 2019
setLenient()用于设置Calendar是否宽松解析字符串,如果为false,则严格解析;默认为true,宽松解析,日期错了不会报错,直接后延,比如2018/1/32转为日期为2018年2月1日。

补充一个坑:测试发现日期中day有小数的可以正确转换
 SimpleDateFormat aDate=new SimpleDateFormat("yyyy/MM/dd");
 String now1="2018/12/22.2";
 aDate.setLenient(false);
 Date d = aDate.parse(now1);
 System.out.println(d);
 结果:Sat Dec 22 00:00:00 GMT+08:00 2018
 末尾的小数直接被抹掉了,y和M则不会

currentTimeMillis()

返回值为long型,得到的是自1970年1月1日零点到目前计算这一刻所经历的的毫秒数

format(将日期转为字符串)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值