JAVA8之日期操作详解
package org.date;

import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.Month;
import java.time.temporal.ChronoField;

/**
 * TODO : JAVA8 Date 操作详解
 * @author bilaisheng
 * @date 2017年9月3日 下午9:20:25
 * @email 878799579@qq.com
 */
public class DateTest {

    /**
     * JAVA1.0中 Date 和JAVA1.1中的Calendar 在设计中由于诸多问题和设计缺陷
     * 导致使用这些方法写出的代码容易出错。比如,月份依旧是从0开始计算
     * 不过,至少Calendar类拿掉了由1990年开始计算年份这一设计
     * DateFormat方法只有在Date类里有
     * DateFormat不是线程安全的。意味着,如果两个线程尝试同时使用同一个formatter解析日期
     * 你可能会得到无法预期的结果。
     */
    @SuppressWarnings("unused")
    public static void main(String[] args) {
        // 获取当前日期   格式:yyyy-MM-dd
        LocalDate today = LocalDate.now();

        // 输入年月日 获取 日期对象 格式:yyyy-MM-dd
        LocalDate date = LocalDate.of(2017, 9, 1);

        // 获取年份
        int year = date.getYear();
        // 获取月份
        Month month = date.getMonth();
        // 获取天
        int day = date.getDayOfMonth();
        // 获取当前星期几
        DayOfWeek dow = date.getDayOfWeek();
        // 获取当前月份总天数
        int len = date.lengthOfMonth();
        // 是否为闰年
        boolean leap = date.isLeapYear();
        System.out.println(today);

        // 通过传递一个TemporalField参数获取时间
        // ChronoField枚举实现了TemporalField
        int tyear = date.get(ChronoField.YEAR);
        int tmonth = date.get(ChronoField.MONTH_OF_YEAR);
        int tday = date.get(ChronoField.DAY_OF_MONTH);

    }

}

posted on 2017-09-03 21:38  Holyz  阅读(157)  评论(0编辑  收藏  举报