7. Java 中的日期和时间(2017-11-19-wl)
7.1 如何取得年月日、小时分钟秒?(2017-11-19-wl)
- public class DateTimeTest {
- public static void main(String[] args) {
- Calendar cal = Calendar.getInstance();
- System.out.println(cal.get(Calendar.YEAR));
- System.out.println(cal.get(Calendar.MONTH)); // 0 - 11
- System.out.println(cal.get(Calendar.DATE));
- System.out.println(cal.get(Calendar.HOUR_OF_DAY));
- System.out.println(cal.get(Calendar.MINUTE));
- System.out.println(cal.get(Calendar.SECOND));
- // Java 8
- LocalDateTime dt = LocalDateTime.now();
- System.out.println(dt.getYear());
- System.out.println(dt.getMonthValue()); // 1 - 12
- System.out.println(dt.getDayOfMonth());
- System.out.println(dt.getHour());
- System.out.println(dt.getMinute());
- System.out.println(dt.getSecond());
- }
- }
7.2 如何取得从 1970 年 1 月 1 日 0 时 0 分 0 秒到现在的毫秒数?(2017-11-19-wl)
- Calendar.getInstance().getTimeInMillis(); //第一种方式
- System.currentTimeMillis(); //第二种方式
- // Java 8
- Clock.systemDefaultZone().millis();
7.3 如何取得某月的最后一天?(2017-11-19-wl)
7.
13.
|
7.4 如何格式化日期?(2017-11-19-wl)
- Java.text.DataFormat 的子类(如 SimpleDateFormat 类)中的 format(Date)方法可将日期格式化。
- Java 8 中可以用 java.time.format.DateTimeFormatter 来格式化时间日期,代码如下所示:
6. 7. public static void main(String[] args) {
|
补充:Java 的时间日期 API 一直以来都是被诟病的东西,为了解决这一问题,Java 8 中引入了新的时间日期 API,
其中包括 LocalDate、LocalTime、LocalDateTime、Clock、Instant 等类,这些的类的设计都使用了不变模式,因
此是线程安全的设计。
7.5 打印昨天的当前时刻? (2017-11-19-wl)
- import java.util.Calendar;
- class YesterdayCurrent {
- public static void main(String[] args){
- Calendar cal = Calendar.getInstance();
- cal.add(Calendar.DATE, -1);
- System.out.println(cal.getTime());
- }
- }
9.
10.
- //java-8
- import java.time.LocalDateTime;
- class YesterdayCurrent {
- public static void main(String[] args) {
- LocalDateTime today = LocalDateTime.now();
- LocalDateTime yesterday = today.minusDays(1);
- System.out.println(yesterday);
- }
- }