1,获取当前时间戳

  1. //方法 一
  2. long time1 = System.currentTimeMillis(); // 带毫秒
  3. int timestamp1 = (int)(time1 / 1000); // 不带毫秒
  4. //方法 二
  5. long time2 = Calendar.getInstance().getTimeInMillis(); // 带毫秒
  6. int timestamp2 = (int)(time2 / 1000); // 不带毫秒
  7. //方法 三
  8. long time3 = new Date().getTime(); // 带毫秒
  9. int timestamp3 = (int)(time3 / 1000); // 不带毫秒

2,获取当前格式化时间

  1. // 方式一
  2. // 设置日期格式
  3. SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  4. // new Date()为获取当前系统时间,也可使用当前时间戳
  5. String date = df.format(new Date());
  6. // 方式二
  7. String s = new DateTime().toString("yyyy-MM-dd HH:mm:ss");

3,时间戳与时间互转

  1. // 设置日期格式
  2. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  3. // 将秒级时间戳先转成毫秒级然后再格式化
  4. String date = sdf.format(1636008749 * 1000);
  5. System.out.println(date); // 输出:2021-11-04 14:52:29
  6. // 将时间转成秒级时间戳
  7. Date parse = sdf.parse("2021-11-04 14:52:29");
  8. long ts = parse.getTime();
  9. System.out.println(ts / 1000); // 输出:1636008749

4,获取当前日期是一年当中的第几周

  1. // 方式一
  2. Calendar calendar = Calendar.getInstance();
  3. //设置星期一为一周开始的第一天
  4. calendar.setFirstDayOfWeek(Calendar.MONDAY);
  5. //获得当前的时间戳
  6. calendar.setTimeInMillis(System.currentTimeMillis());
  7. //获得当前日期属于今年的第几周
  8. int weekOfYear = calendar.get(Calendar.WEEK_OF_YEAR);
  9. System.out.println(weekOfYear);
  10. // 方式二
  11. DateTime dateTime = new DateTime();
  12. System.out.println(dateTime.getWeekOfWeekyear());

5,日期比较

  1. SimpleDateFormat date = new SimpleDateFormat("yyyy-MM-dd");
  2. Date parse = date.parse("2021-12-29");
  3. Date nowdate = date.parse("2021-10-29");
  4. // 可以理解为:after相当于">"号,before相当于"<"号
  5. System.out.println(parse.after(nowdate)); //true
  6. System.out.println(nowdate.after(parse)); //false
  7. System.out.println(parse.before(nowdate)); //false
  8. System.out.println(nowdate.before(parse)); //true