Java 的日期和时间类位于 java.util 包中。利用日期时间类提供的方法,可以获取当前的日期和时间,创建日期和时间参数,计算和比较时间。
Date类
Date 类是 Java 中的日期时间类,其构造方法比较多,下面是常用的两个
Date():使用当前的日期和时间初始化一个对象。
看如下例子:
import java.sql.Date;
class Demo {
public static void main(String[] args) {
Date da=new Date(2); //创建时间对象
System.out.println(da); //显示时间和日期
long msec=da.getTime();
System.out.println("从1970年1月1日0时到现在共有:" + msec + "毫秒");
}
}
例如,用不同的格式输出时间:
import java.text.SimpleDateFormat;
import java.util.Date;
public class Demo {
public static void main(String args[]){
Date da=new Date();
System.out.println(da);
SimpleDateFormat ma1=new SimpleDateFormat("yyyy 年 MM 月 dd 日 E 北京时间");
System.out.println(ma1.format(da));
SimpleDateFormat ma2=new SimpleDateFormat("北京时间: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;
public class Demo {
public static void main(String[] args) {
//获取一个日历
Calendar lol = 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());
}
}