Java 的日期和时间类位于java.util 包中。利用日期时间类提供的方法,可以获取当前的日期和时间,创建日期和时间参数,计算和比较时间。
Date类
Date 类是 Java 中的日期时间类,其构造方法比较多,下面是常用的两个
Date():使用当前的日期和时间初始化一个对象。
看如下例子:
import java.sql.Date;
classDemo{
publicstaticvoidmain(String[]args){
Dateda=newDate(2); //创建时间对象
System.out.println(da);//显示时间和日期
longmsec=da.getTime();
System.out.println("从1970年1月1日0时到现在共有:"+msec+"毫秒");
}
}
例如,用不同的格式输出时间:
importjava.text.SimpleDateFormat;
importjava.util.Date;
publicclassDemo{
publicstaticvoidmain(Stringargs[]){
Dateda=newDate();
System.out.println(da);
SimpleDateFormatma1=newSimpleDateFormat("yyyy 年 MM 月 dd 日 E 北京时间");
System.out.println(ma1.format(da));
SimpleDateFormatma2=newSimpleDateFormat("北京时间:yyyy 年 MM 月 dd 日 HH 时 mm 分 ss 秒");
System.out.println(ma2.format(-1000));
}
}
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 时区
Calendar类
使用Calendar来完成时间计算等操作。
package com.ls.yc;
import java.util.Calendar;
publicclassDemo{
publicstaticvoidmain(String[]args){
//获取一个日历
Calendarlol=Calendar.getInstance();
// 获取时间
System.out.println("年:"+lol.get(Calendar.YEAR));
System.out.println("月:"+(lol.get(Calendar.MONTH)+1));// 月是从0开始(0~11),所以需要+1
System.out.println("日:"+lol.get(Calendar.DAY_OF_MONTH));
System.out.println("时:"+lol.get(Calendar.HOUR_OF_DAY));
System.out.println("分:"+lol.get(Calendar.MINUTE));
System.out.println("秒:"+lol.get(Calendar.SECOND));
//时间计算 add
//add方法
lol.add(Calendar.MONTH,3);//+3个月
System.out.println(lol.getTime());
lol.add(Calendar.MONTH, -3);
System.out.println(lol.getTime());
//roll方法
lol.roll(Calendar.MONTH,3);//+3个月
System.out.println(lol.getTime());
lol.roll(Calendar.MONTH, -3);
System.out.println(lol.getTime());
}
}
Date类
Date 类是 Java 中的日期时间类,其构造方法比较多,下面是常用的两个
Date():使用当前的日期和时间初始化一个对象。
看如下例子:
import java.sql.Date;
classDemo{
publicstaticvoidmain(String[]args){
Dateda=newDate(2); //创建时间对象
System.out.println(da);//显示时间和日期
longmsec=da.getTime();
System.out.println("从1970年1月1日0时到现在共有:"+msec+"毫秒");
}
}
例如,用不同的格式输出时间:
importjava.text.SimpleDateFormat;
importjava.util.Date;
publicclassDemo{
publicstaticvoidmain(Stringargs[]){
Dateda=newDate();
System.out.println(da);
SimpleDateFormatma1=newSimpleDateFormat("yyyy 年 MM 月 dd 日 E 北京时间");
System.out.println(ma1.format(da));
SimpleDateFormatma2=newSimpleDateFormat("北京时间:yyyy 年 MM 月 dd 日 HH 时 mm 分 ss 秒");
System.out.println(ma2.format(-1000));
}
}
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 时区
Calendar类
使用Calendar来完成时间计算等操作。
package com.ls.yc;
import java.util.Calendar;
publicclassDemo{
publicstaticvoidmain(String[]args){
//获取一个日历
Calendarlol=Calendar.getInstance();
// 获取时间
System.out.println("年:"+lol.get(Calendar.YEAR));
System.out.println("月:"+(lol.get(Calendar.MONTH)+1));// 月是从0开始(0~11),所以需要+1
System.out.println("日:"+lol.get(Calendar.DAY_OF_MONTH));
System.out.println("时:"+lol.get(Calendar.HOUR_OF_DAY));
System.out.println("分:"+lol.get(Calendar.MINUTE));
System.out.println("秒:"+lol.get(Calendar.SECOND));
//时间计算 add
//add方法
lol.add(Calendar.MONTH,3);//+3个月
System.out.println(lol.getTime());
lol.add(Calendar.MONTH, -3);
System.out.println(lol.getTime());
//roll方法
lol.roll(Calendar.MONTH,3);//+3个月
System.out.println(lol.getTime());
lol.roll(Calendar.MONTH, -3);
System.out.println(lol.getTime());
}
}

