- getTime
getTime会得到一个long类型的整数,表示从1970年开始,每经历一次就加一毫秒
- System.CurrentTimeMillis()
当前日期的毫秒数(new Date.getTime()和System.currentTimeMillis()是一样的)
package date;
import java.util.Date;
public class DateDemo1 {
public static void main(String[] args) {
Date date = new Date();
// 获取当前日期的毫秒数
System.out.println(""+date.getTime());
//通过System.currentTimeMillis()获取当前日期的毫秒数
System.out.println(""+System.currentTimeMillis());
}
}
输出结果
1547640441300
1547640441300
- Calendar
日历类,常用于翻日历,(比如说下个月的今天是多久)
add:在原日期上增加年/月/日
set:直接设置年/月/日
package date;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateDemo2 {
private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public static void main(String[] args) {
//采用单例模式获取日期对象
Calendar c = Calendar.getInstance();
//通过日历对象得到日期对象
Date d = c.getTime();
System.out.println("当前日期:\t"+format(c.getTime()));
//下个月的今天
c.setTime(d);
c.add(Calendar.MONTH,1);
System.out.println("下个月的今天:\t"+format(c.getTime()));
//去年的今天
c.setTime(d);
c.add(Calendar.YEAR, -1);
System.out.println("去年的今天:\t"+format(c.getTime()));
// 上个月的第三天
c.setTime(d);
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-01-01 20:53:14
下个月的今天: 2019-02-01 20:53:14
去年的今天: 2018-01-01 20:53:14
上个月的第三天: 2018-12-03 20:53:14
练习:
找出下个月的倒数第3天是哪天?
答案:
package date;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/**
* 找出下个月的倒数第3天是哪天
* @author eleven
*return :思路:先回到下下个月,设置到月初,在往前推3天。
*/
public class DateDemo3 {
//设置时间格式
private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public static void main(String[] args) {
//采用单例模式获取日期对象Calendar.getInstance()
Calendar c = Calendar.getInstance();
System.out.println("今天是:"+format(c.getTime()));
//先到下下个月
c.add(Calendar.MONTH, 2);
//设置到月初
c.set(Calendar.DATE, 1);
//在往前推3天
c.add(Calendar.DATE, -3);
//下个月倒数第三天是:
System.out.println("下个月倒数第三天:"+format(c.getTime()));
}
private static String format(Date time) {
return sdf.format(time);
}
}