JAVA8之日期操作详解

简介: package org.date;import java.time.DayOfWeek;import java.time.LocalDate;import java.time.
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);

    }

}
目录
相关文章
|
21天前
|
Java
Java基础之日期和时间
Java基础之日期和时间
11 1
|
1月前
|
安全 Java 程序员
Java8实战-新的日期和时间API
Java8实战-新的日期和时间API
27 3
|
2月前
|
安全 Java Unix
Java语言中的日期与时间处理技术
Java语言中的日期与时间处理技术
|
21天前
|
Java API
Java基础之日期和时间
【7月更文挑战第4天】 Java日期时间API概览:Java 8之前,Date表示不可变时间点,Calendar用于计算,SimpleDateFormat处理格式化。Date的setXXX方法不推荐,Calendar支持加减操作。时区处理用TimeZone,Time仅处理时间(不含日期)。Java 8引入java.time包,提供Instant、LocalDate等线程安全类,改进了性能和易用性,支持时区和更复杂操作。后续将探讨Java 8的新特性!
14 1
|
22天前
|
安全 Java API
Java基础之日期和时间
【7月更文挑战第3天】 Java 8之前的日期时间处理涉及Date、Calendar、SimpleDateFormat及TimeZone类。Date是不可变对象,但不推荐直接调整时间。Calendar提供日期计算,而SimpleDateFormat用于格式化。Date和Calendar非线程安全,处理时区需用TimeZone。Java 8引入了java.time包,包含Instant、LocalDate等类,提供更现代、线程安全和高效的API,例如Instant用于时间戳,LocalDateTime表示日期和时间,ZonedDateTime处理时区。下节将探讨Java 8的新API。
21 2
|
21天前
|
Java API
Java中的日期和时间API详解
Java中的日期和时间API详解
|
1月前
|
Java 测试技术 API
滚雪球学Java(52):一步一步教你使用Java Calendar类进行日期计算
【6月更文挑战第6天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
18 3
滚雪球学Java(52):一步一步教你使用Java Calendar类进行日期计算
|
1月前
|
Java
2021蓝桥杯大赛软件类国赛Java大学B组 完全日期 复杂遍历搜索
2021蓝桥杯大赛软件类国赛Java大学B组 完全日期 复杂遍历搜索
24 2
|
16天前
|
安全 Java API
Java基础之新日期和时间
“【7月更文挑战第6天】”Java 8 引入了`java.time`包,改进了日期和时间处理。新API包括:`LocalDate`(线程安全的日期)、`LocalTime`(时间)、`LocalDateTime`(日期和时间)、`ZonedDateTime`(带时区的日期和时间)、`Instant`(时间戳)、`DateTimeFormatter`(线程安全的格式化器)、`Period`(日期间隔)和`Duration`(时间间隔)。
16 0
|
1月前
|
Java
Java日期时间DateUtils工具包
Java日期时间DateUtils工具包
19 1