日期和时间:
- 如何取得年月日、小时分秒?
- 如何取得从 1970年到现在的毫秒数?
- 如何取得某个日期是当月的最后一天?
- 如何格式化日期?
参考解答
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()));