string 日期比较_java8-新的日期API
背景
java的日期和时间API设计不理想,java8引入新的时间和日期API就是为了解决这个问题。
老的日期API的核心类 缺点 Date 月从0开始,年最小从1900年开始,没有时区的概念 Calendar 月从0开始 DateFormat 线程不安全 其它 同时存在Date和Calendar难以选择; Date和Calendar类都是可变的,维护噩梦 java8引入了类似joda-time的新特性。核心类如下:
LocalDate
标识日期。下面是javadoc的翻译:
日期没有时区,处在ISO-8601日历系统下。例如:2007-12-03
是一个不可变日期对象常见表示是年月日,其它的日期字段比如dayOfYear,dayOfWeek,weekOfYear也是可以访问的。
LocalDate.now().get(ChronoField.ALIGNED_WEEK_OF_YEAR);
举个例子, 2007年10月2日可以存放在LocalDate里。
这个类没有存储或者代表时间或者时区。
相反,它描叙了日期,比如可以用来表示生日,他不能代表一个时间线上的没有附加信息的瞬间,比如一个偏移量后者时区。
这是一个基于值的类,使用标识敏感的操作,比如 == , hashCode(), 或者LocalDate对象的同步操作可能会有无法预测的结果,并且应该避免。equals方法应该被用来比较。
这个类是不可变并且线程安全的。
下面是javadoc原文,不重要的内容我删掉了。
/**
* A date without a time-zone in the ISO-8601 calendar system,
* such as {@code 2007-12-03}.
*
* {@code LocalDate} is an immutable date-time object that represents a date,
* often viewed as year-month-day. Other date fields, such as day-of-year,
* day-of-week and week-of-year, can also be accessed.
* For example, the value "2nd October 2007" can be stored in a {@code LocalDate}.
*
* This class does not store or represent a time or time-zone.
* Instead, it is a description of the date, as used for birthdays.
* It cannot represent an instant on the time-line without additional information
* such as an offset or time-zone.
*
* This is a value-based
* class; use of identity-sensitive operations (including reference equality
* ({@code ==}), identity hash code, or synchronization) on instances of
* {@code LocalDate} may have unpredictable results and should be avoided.
* The {@code equals} method should be used for comparisons.
* This class is immutable and thread-safe.
public final class LocalDate
implements Temporal, TemporalAdjuster, ChronoLocalDate, Serializable
主要有4种构造方法:
构造方法种类 说明 of类 有4个, of(int year,int month, int day) , of(int year, Month month, int day) , ofYearDay(int year, int dayofYear), ofEpochday(long epochDay) 1970年1月1日为机器元年 now类3个 实际上重载了now(Clock clock), 其它两个 now(), now(ZoneId zoneId) 取得是机器在某个时区的始终,取的日期,然后调用ofEpochday(long epochDay)来初始化日期 from类1个 from(TemporalAccessor temporal) 通过一个Temporal对象来初始化日期,具体用法见例子 parse类2个 pase(string date),parse(String date , DateTimeFormatter formater)以字符串的方式初始化日期 获取类方法:
获取类方法 说明 getYear() 获取年 getMonthValue() 获取月份数值 getMonth() 得到月份对象 getDayOfMonth 得到月份的天数值 getDayOfWeek 得到一周的星期数 package com.test.time;
import java.time.LocalDate;
import java.time.chrono.ChronoLocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAccessor;
import java.time.temporal.TemporalField;
import java.util.Objects;
/**
* 说明:localDate类研究
* @author carter
* 创建时间: 2019年11月11日 15:31
**/
public class LocalDateTest {
public static void main(String[] args) {
LocalDate localDate = LocalDate.of(2019,11,11);
print("localDate.getYear()
string 日期比较_java8-新的日期API相关推荐
- java instant获取微秒转成日期格式_Java8新特性时间日期库DateTime API及示例
点击上方蓝字关注「程序新视界」 Java8新特性的功能已经更新了不少篇幅了,今天重点讲解时间日期库中DateTime相关处理.同样的,如果你现在依旧在项目中使用传统Date.Calendar和Simp ...
- 判断是否是日期格式_Java8新特性之新世间与日期
接口中的默认方法与静态方法 Java 8中允许接口中包含具有具体实现的方法,该方法称为"默认方法",默认方法使用 default 关键字修饰. default String get ...
- java打印日期序列_Java8新特性之新日期API
早期的日期 API 在早期也就是 Java 8 之前,JDK 原生比较有名的有两个类: Date 类 Calendar 类 这两个类相对来说用起来是比较困难的,之前我们往往是用的第三方的库. 新日期 ...
- sqlserver获取前一天的日期_Java8新特性时间日期库DateTime API及示例
点击上方蓝字关注「程序新视界」 Java8新特性的功能已经更新了不少篇幅了,今天重点讲解时间日期库中DateTime相关处理.同样的,如果你现在依旧在项目中使用传统Date.Calendar和Simp ...
- java8 time工具_java8 Date/Time API 新的日期处理工具
接上篇文章 java8 新特性 由于上篇过于庞大,使得重点不够清晰,本篇单独拿出 java8 的 Date/Time api 进行说明,新的日期时间工具全部都在 java.time 及其子包中. 新 ...
- 《Java8实战》笔记(12):新的日期和时间API
新的日期和时间API 相信大多数有经验的程序员都会赞同Java 8之前的库对日期和时间的支持就非常不理想.值得高兴的是 Java 8中引入全新的日期和时间API就是要解决这一问题. Java 8之前的 ...
- 《Java 8 in Action》Chapter 12:新的日期和时间API
在Java 1.0中,对日期和时间的支持只能依赖java.util.Date类.同时这个类还有两个很大的缺点:年份的起始选择是1900年,月份的起始从0开始. 在Java 1.1中,Date类中的很多 ...
- 摒弃Date、Calendar,使用新的日期API
感谢传智播客老师深入细致的讲解 为什么会出现新的日期类API 将java.util.Date类束之高阁才是正确之道 -> Tim Yates 在Java面世之初,标准库就引入了两种用于处理日期和 ...
- Java日期与时间API(详解全部新与旧API,含代码例子)
目录 前言必读 二.新与旧API 新的API: 旧的API: 初步使用大全(SimpleDateFormat) 三.代码例子 1.获取当前时间 2.字符串转化为时间 四.新的API 1.LocalDa ...
- 【Java 8】新的日期时间API
本文参考书籍<Java 8实战>,陆明刚.劳佳 译,如有侵权,请联系删除! 在Java 1.0中,对日期和时间的支持只能依赖java.util.Date类.正如类名所表达的,这个类无法表 ...
最新文章
- Angular2入门教程-1
- krpano·分组图片地图插件
- linux中sleep再循环里,Linux sleep 语句以及循环 测试负载
- ABP 拦截器不工作
- 【MySQL】日期函数:日期、时间增减
- MySQL5.6 Waiting for Commit Lock
- web端 复合控件 响应回发
- Koa 中间件的执行
- html5画布太极图,canvas实现太极图
- javascript常见面试题之一:将字符串'get-element-by-id'转换成驼峰命名法;
- SAS基础练习(一)
- java list 某个重复列_Java 开发的编程噩梦,这些坑你没踩过算我输
- 爆料喽!!!开源日志库Logger的剖析分析
- 怎么快速调出计算机资源管理器,Win7下快速打开资源管理器的五个方法
- 兔子-蓝牙 bluetooth (二) 打开蓝牙
- LaTeX 多图 排列
- ecshop 评价仿京东仿淘宝 中评率 好评率 差评率
- 北大计算机专硕学费,北京大学专业硕士学费被曝高达2.2万元/年
- C语言拼图游戏——Windows下基于EasyX且支持鼠标与键盘操作
- 安卓桌面壁纸_火莹视频桌面:好玩的动态桌面壁纸软件,让你的桌面动起来