日期类

Date类

表示特定的瞬间,精确到毫秒

月份的计算是从0开始

构造方法
import java.util.Date;//注意包不要导入错误
Date()
    Date d = new Date();
System.out.println(d);// 打印的是日期的格式  Sun Jul 14 10:17:19 CST 2019

Date(long date)
    分配并初始化此对象,以表示从标准时间(计算机元年)以来的指定毫秒数
    给计算机元年加上相应的毫秒数  会计算时区
Date d = new Date(1000*60*60*24);
System.out.println(d);//Fir Jan 02 08:00:00 CST 1970 1970-01-02 早上8点整

//getTime()    获取当前系统的毫秒值
Date d = new Date();
long t = d.getTime();
还有一个方法也是同样的作用
long t2 = System.currentTimeMillis();

//setTime()   给计算机元年增加相应的时间量
Date d1 = new Date();
long t1 = d1.setTime(1000*60*60);

long<==>Date
long==>Date
long t = 1000*60*60;
1.Date d = new Date(t);
2.new Date().setTime(t);
long<==Date
Date d = new Date(t);
long t = d.getTime();

SimpleDateFormat

SimpleDateFormat:格式化日期,使日期的格式符合我们的需要

//空参 采用默认格式格式化日期
SimpleDateFormat s = new SimpleDateFormat();
String df = s.format(date);
System.out.println(df);//默认格式  19-7-14 上午10:33

//可以指定格式来格式化日期   参数就是指定的日期格式
SimpleDateFormat s = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String df = s.format(date);
System.out.println(df);//指定格式  2019-07-14 10:35:40
拼接符"-"可以换成自己需要的如"年""月""日"等
格式的具体信息可查看SimpleDateFormat的API



字母日期或时间元素
GEra标识符
y
M年中的月份(从0开始算)
w年中的周数
W月中的周数
D年中的天数
d月中的天数
F月中的星期
E星期中的天数
aAm/Pm标记
H一天中的小时数(0-23)
k一天中的小时数(1-24)
Kam/pm中的小时数(0-11)
ham/pm中的小时数(1-12)
m小时中的分钟数
s分钟中的秒数
S毫秒数
z时区
Z时区
//日期字符串 转  Date
String ds = "2019-07-14 12:12:12";
SimpleDateFormat s = new SimpleDateFormat("yyy-MM-dd HH:mm:ss");
Date date = s.parse(ds);//注 parse会有异常,直接alt+回车纠错就行
//ParseException  注意解析日期时格式要和日期字符串的格式对应,否则会包解析异常

//Date 转 日期字符串   format()

Calendar

Calendar 是对Date类的一个替代

是一个抽象类,不能直接new创建对象,需要通过静态方法getInstance()来获得此类的一个通用对象,这个方法会返回一个Calendar对象,其日期字段已由当前日期和时间初始化

Calendar c = Calendar.getInstance();
System.out.println(c);//打印了很多相关的值
int i = c.get(Calendar.YEAR);//获取当前年份,返回int
int i = c.get(Calendar.MONTH);
int i = c.get(Calendar.DAY_OF_MONTH);
int i = c.get(Calendar.HOUR_OF_DAY;
int i = c.get(Calendar.MINUTE);
int i = c.get(Calendar.SECOND);             
//add方法  给相应日历字段加上或减去(填负数)相应的时间量
Calendar c = Calendar.getInstance();
c.add(Calendar.YEAR,1);//给当前年份+1
int i = c.get(Calendar.YEAR);//2020

//set 直接设置日期
Calendar c = Calendar.getInstance();
c.set(2000,6,19,14,20,20);
int i = c.get(Calendar.YEAR);//2000  取的是设置的年份


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值