date类很多方法都弃用了或者过期;官方推荐使用calendar类
不过学习来看还是可以了解下的:
private static void test1() throws ParseException {
Date d=new Date();
Date d2=new Date();
//以1970年1月1日0点o秒 为基点 毫秒为单位 同时中国在 东8区 要加上8小时
d2.setTime(60*1000*60);//设置1小时 实际为Thu Jan 01 09:00:00 CST 1970
System.out.println(d);
System.out.println(d2);
//格式化日期yyyy-MM-dd HH:mm:ss y表示年 M表示月 d表示日 H表示时 m表示分 s表示秒
SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd");
String sd=sf.format(d);
System.out.println(sd);
String strd="2080-08-08 12:23:45";
//字符串转日期
Date d3=sf.parse(strd);
System.out.println(d3);
}
打印结果:
Sun Apr 28 13:34:28 CST 2019
Thu Jan 01 09:00:00 CST 1970
2019-04-28
Thu Aug 08 00:00:00 CST 2080
还有其他的一些常用方法如下:
getMonth
返回表示月份的数字,该月份包含或开始于此 Date 对象所表示的瞬间。返回的值在 0
和 11
之间,值 0
表示 1 月。
getDay
返回此日期表示的周中的某一天。返回值 (0 = Sunday, 1 = Monday, 2 = Tuesday, 3 = Wednesday, 4 = Thursday, 5 = Friday, 6 = Saturday) 表示一周中的某一天,该周包含或开始于此 Date 对象所表示的瞬间(用本地时区进行解释)。
getDate
返回此 Date 对象表示的月份中的某一天。返回的值在 1
和 31
之间,表示包含或开始于此 Date 对象表示的时间的月份中的某一天(用本地时区进行解释)。
toString
public String toString()
把此 Date
对象转换为以下形式的 String
:
dow mon dd hh:mm:ss zzz yyyy
其中:
- dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat)。
- mon 是月份 (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec)。
- dd 是一月中的某一天(01 至 31),显示为两位十进制数。
- hh 是一天中的小时(00 至 23),显示为两位十进制数。
- mm 是小时中的分钟(00 至 59),显示为两位十进制数。
- ss 是分钟中的秒数(00 至 61),显示为两位十进制数。
- zzz 是时区(并可以反映夏令时)。标准时区缩写包括方法 parse 识别的时区缩写。如果不提供时区信息,则 zzz 为空,即根本不包括任何字符。
- yyyy 是年份,显示为 4 位十进制数。