日期和时间:

  1. 如何取得年月日、小时分秒?
  2. 如何取得从 1970年到现在的毫秒数?
  3. 如何取得某个日期是当月的最后一天?
  4. 如何格式化日期?

参考解答

1. 如何取得年月日、小时分秒?

使用Calendar类

Calendar c = Calendar.getInstance();
System.out.println(c.get(Calendar.YEAR));
System.out.println(c.get(Calendar.MONTH)+1);
System.out.println(c.get(Calendar.DATE));
System.out.println(c.get(Calendar.HOUR_OF_DAY));
System.out.println(c.get(Calendar.MINUTE));
System.out.println(c.get(Calendar.SECOND));

使用jdk8

LocalDateTime now = LocalDateTime.now();
System.out.println(now.get(ChronoField.YEAR));
System.out.println(now.get(ChronoField.MONTH_OF_YEAR));
System.out.println(now.get(ChronoField.DAY_OF_MONTH));
System.out.println(now.get(ChronoField.HOUR_OF_DAY));
System.out.println(now.get(ChronoField.MINUTE_OF_HOUR));
System.out.println(now.get(ChronoField.SECOND_OF_MINUTE));

2. 如何取得从 1970年到现在的毫秒数?

System.out.println(System.currentTimeMillis());

3. 如何取得某个日期是当月的最后一天?

使用Calendar类

Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, 2017);
c.set(Calendar.MONTH, 2); // 3月
System.out.println(c.getActualMaximum(Calendar.DATE));

使用jdk8

DateTimeFormatter dtf = DateTimeFormatter.ofPattern("uuuu-MM-dd");
LocalDate date = LocalDate.parse("2017-03-01", dtf);
System.out.println(date.with(TemporalAdjusters.lastDayOfMonth()).getDayOfMonth());

4. 如何格式化日期?

使用SimpleDateFormat

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(sdf.format(new java.util.Date()));

使用jdk8

DateTimeFormatter dtf = DateTimeFormatter.ofPattern("uuuu-MM-dd");
System.out.println(dtf.format(LocalDate.now()));

results matching ""

    No results matching ""