Date()方法
Date();创建一个当前的日期时间;
Date(long date);创建一个从1970年1月1日起的毫秒数的日期时间。
Date d1 = new Date();
System.out.println(d1);
Date d2 = new Date(5000);
System.out.println(d2);
Thu Jul 18 09:13:02 CST 2019
Thu Jan 01 08:00:05 CST 1970
getTime()方法
Date d1 = new Date();
System.out.println(d1);
//getTime() 得到一个long型的整数
//这个整数代表 1970.1.1 08:00:00:000,每经历一毫秒,增加1
System.out.println(d1.getTime());
Date d2 = new Date(5000);
System.out.println(d2);
System.out.println(d2.getTime());
Thu Jul 18 09:17:16 CST 2019
1563412636764
Thu Jan 01 08:00:05 CST 1970
5000
System.currentTimeMillis()
Date d1 = new Date();
System.out.println(d1);
//getTime() 得到一个long型的整数
//这个整数代表 1970.1.1 08:00:00:000,每经历一毫秒,增加1
System.out.println(d1.getTime());
//通过System.currentTimeMillis()获取当前日期的毫秒数,由于机器运行时间,会有时间差
System.out.println(System.currentTimeMillis());
Thu Jul 18 09:20:14 CST 2019
1563412814130
1563412814226
日期格式化SimpleDateFormat
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
Date d1 = new Date();
String now = sdf.format(d1);
System.out.println(now);
2019-07-18 09:24:24 757
字符串解析为日期
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
String str = "2019/7/18 11:11:11";
Date d1 = null;
try {
d1 = sdf.parse(str);
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println(d1);
Thu Jul 18 11:11:11 CST 2019
Calendar日历类
Calendar calendar = Calendar.getInstance();
Date d1 = calendar.getTime();
System.out.println(d1);
Thu Jul 18 09:31:00 CST 2019
public class Basic {
private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public static void main(String args[]){
Calendar c = Calendar.getInstance();
Date now = c.getTime();
// 当前日期
System.out.println("当前日期:\t" + format(c.getTime()));
// 下个月的今天
c.setTime(now);
c.add(Calendar.MONTH, 1);
System.out.println("下个月的今天:\t" +format(c.getTime()));
// 去年的今天
c.setTime(now);
c.add(Calendar.YEAR, -1);
System.out.println("去年的今天:\t" +format(c.getTime()));
// 上个月的第三天
c.setTime(now);
c.add(Calendar.MONTH, -1);
c.set(Calendar.DATE, +3);
System.out.println("上个月的第三天:\t" +format(c.getTime()));
// 上个月往前三天
c.setTime(now);
c.add(Calendar.MONTH, -1);
c.set(Calendar.DATE, -3);
System.out.println("上个月往前三天:\t" +format(c.getTime()));
}
private static String format(Date time) {
return sdf.format(time);
}
}
当前日期: 2019-07-18 09:36:15
下个月的今天: 2019-08-18 09:36:15
去年的今天: 2018-07-18 09:36:15
上个月的第三天: 2019-06-03 09:36:15
上个月的第三天: 2019-05-28 09:36:15