Date、Calendar and SimpleDateFormat

今天主要学习了三个常用的时间日期类,分别是Date、Calendar和SimpleDateFormat
一、Date和Calendar类
Date和Calendar类都在软件包java.util中,其中Date类可以通过new一个Date对象获取当前系统时间,格式如下:
Date d=new Date();
Date d=new Date(long millionSec); 其中millionSec表示从1970/1/1日 00:00:00的毫秒数

思考:为什么选择1970/1/1?
早期计算机只有32位,32位能表示的最大数是2147483648,一年365天总共31536000秒,2147483648/31536000=68.1,从1970/1/1算起到2038/1/19就会达到最大,过了这个时间,32位系统时间就会变为10000000,00000000,00000000,00000000;也就是会变成1901/12/13,出现时间回归的现象,所以早期的32位系统考虑到计算机的年代和应用的时限,综合取了1970/1/1 00:00:00这个时间点为起始时间。

因为Date的API不易于实现国际化,所以很多API都弃用Date类,所以在获取时间时尽量不要用Date类
课堂练习1:用Date获取当前时间并显示
这里写图片描述
输出内容:
这里写图片描述

Calendar是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。
Calendar通过getInstance方法获取实例,并由当前日期和时间初始化。
Calendar time=Calendar.getInstance();
Calendar类常用的字段:
YEAR (get或set年)
MONTH (get或set月,月份是从0开始,所以要+1)
DATE (get或set日)
HOUR_OF_DAY (get或set获取小时,该字段是24小时制的,12小时制的可以使用HOUR字段)
MINUTE (get或set分)
SECOND (get或set秒)
Calendar类常用的方法:
get(int field)返回指定的日历字段的值
add(int field,int amount)根据日历的规则,为给定的日历字段添加或减去指定的时间量
set的方法有4个重载方法,主要是设置日历字段的值
课堂练习2:用Calendar获取当前时间并显示
这里写图片描述
输出结果:
这里写图片描述
课堂练习3:计算两年前的今天是星期几
计算方法:
这里写图片描述
main方法:
这里写图片描述
输出结果:
两年前的今天是星期三

二、SimpleDateFormat类
SimpleDateFormat是一个格式化时间的类
常见的字母及其含义
字母 日期或时间元素
y 年
M 月份
d 月份中天数
h am/pm中的小时数(1-12)
m 分钟数
s 秒数
a 上午/下午
注意,字母的大小写分别代表不同含义的。
日期表示格式通常有如下几种:
yyyy/MM/dd HH:mm:ss 如 2016/01/01 17:55:00’
yyyy/MM/dd HH:mm:ss pm 如 2016/01/01 17:55:00 pm’
yyyy-MM-dd HH:mm:ss 如 2016-01-01 17:55:00’
yyyy-MM-dd HH:mm:ss am 如 ‘2016-01-01 17:55:00 am’
yyyy年MM月dd日 HH时mm分ss秒 如’2016年01月01日 17时55分00秒’
代码演示:
这里写图片描述
输出结果:
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值