1,获取当前时间戳
//方法 一
long time1 = System.currentTimeMillis(); // 带毫秒
int timestamp1 = (int)(time1 / 1000); // 不带毫秒
//方法 二
long time2 = Calendar.getInstance().getTimeInMillis(); // 带毫秒
int timestamp2 = (int)(time2 / 1000); // 不带毫秒
//方法 三
long time3 = new Date().getTime(); // 带毫秒
int timestamp3 = (int)(time3 / 1000); // 不带毫秒
2,获取当前格式化时间
// 方式一
// 设置日期格式
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// new Date()为获取当前系统时间,也可使用当前时间戳
String date = df.format(new Date());
// 方式二
String s = new DateTime().toString("yyyy-MM-dd HH:mm:ss");
3,时间戳与时间互转
// 设置日期格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 将秒级时间戳先转成毫秒级然后再格式化
String date = sdf.format(1636008749 * 1000);
System.out.println(date); // 输出:2021-11-04 14:52:29
// 将时间转成秒级时间戳
Date parse = sdf.parse("2021-11-04 14:52:29");
long ts = parse.getTime();
System.out.println(ts / 1000); // 输出:1636008749
4,获取当前日期是一年当中的第几周
// 方式一
Calendar calendar = Calendar.getInstance();
//设置星期一为一周开始的第一天
calendar.setFirstDayOfWeek(Calendar.MONDAY);
//获得当前的时间戳
calendar.setTimeInMillis(System.currentTimeMillis());
//获得当前日期属于今年的第几周
int weekOfYear = calendar.get(Calendar.WEEK_OF_YEAR);
System.out.println(weekOfYear);
// 方式二
DateTime dateTime = new DateTime();
System.out.println(dateTime.getWeekOfWeekyear());
5,日期比较
SimpleDateFormat date = new SimpleDateFormat("yyyy-MM-dd");
Date parse = date.parse("2021-12-29");
Date nowdate = date.parse("2021-10-29");
// 可以理解为:after相当于">"号,before相当于"<"号
System.out.println(parse.after(nowdate)); //true
System.out.println(nowdate.after(parse)); //false
System.out.println(parse.before(nowdate)); //false
System.out.println(nowdate.before(parse)); //true