Date和Calendar

  1. // Date
  2. public class DateDemo{
  3. public static void main(String[] args) {
  4. // 获取当前时间:
  5. Date date = new Date();
  6. System.out.println(date.getYear() + 1900);
  7. System.out.println(date.getMonth() + 1);
  8. System.out.println(date.getDate());
  9. // 转换为String:
  10. System.out.println(date.toString());
  11. // 转换为GMT时区:
  12. System.out.println(date.toGMTString());
  13. // 转换为本地时区:
  14. System.out.println(date.toLocaleString());
  15. }
  16. }
  17. // Calendar
  18. public class DateDemo {
  19. public static void main(String[] args) {
  20. // 获取当前时间:
  21. Calendar c = Calendar.getInstance();
  22. int y = c.get(Calendar.YEAR); // 年
  23. int m = 1 + c.get(Calendar.MONTH); // 月
  24. int d = c.get(Calendar.DAY_OF_MONTH); // 日
  25. int w = c.get(Calendar.DAY_OF_WEEK); // 星期几
  26. int hh = c.get(Calendar.HOUR_OF_DAY); // 时
  27. int mm = c.get(Calendar.MINUTE); // 分
  28. int ss = c.get(Calendar.SECOND); // 秒
  29. int ms = c.get(Calendar.MILLISECOND); // 毫秒
  30. System.out.println(y + "-" + m + "-" + d + " " + w + " " + hh + ":" + mm + ":" + ss + "." + ms);
  31. }
  32. }

LocalDateTime

  1. public class DateDemo {
  2. public static void main(String[] args) {
  3. LocalDate d = LocalDate.now(); // 当前日期
  4. LocalTime t = LocalTime.now(); // 当前时间
  5. LocalDateTime dt = LocalDateTime.now(); // 当前日期和时间
  6. System.out.println(d); // 严格按照ISO 8601格式打印
  7. System.out.println(t); // 严格按照ISO 8601格式打印
  8. System.out.println(dt); // 严格按照ISO 8601格式打印
  9. }
  10. }

ZonedDateTime

  1. // LocalDateTime总是表示本地日期和时间,要表示一个带时区的日期和时间,我们就需要ZonedDateTime。
  2. public class DateDemo {
  3. public static void main(String[] args) {
  4. ZonedDateTime zbj = ZonedDateTime.now(); // 默认时区
  5. ZonedDateTime zny = ZonedDateTime.now(ZoneId.of("America/New_York")); // 用指定时区获取当前时间
  6. System.out.println(zbj);
  7. System.out.println(zny);
  8. }
  9. }

DateTimeFormatter

  1. public class Main {
  2. public static void main(String[] args) {
  3. ZonedDateTime zdt = ZonedDateTime.now();
  4. var formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm ZZZZ");
  5. System.out.println(formatter.format(zdt));
  6. var zhFormatter = DateTimeFormatter.ofPattern("yyyy MMM dd EE HH:mm", Locale.CHINA);
  7. System.out.println(zhFormatter.format(zdt));
  8. var usFormatter = DateTimeFormatter.ofPattern("E, MMMM/dd/yyyy HH:mm", Locale.US);
  9. System.out.println(usFormatter.format(zdt));
  10. }
  11. }