添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
留胡子的花生  ·  C++中int和long ...·  1 周前    · 
听话的楼房  ·  android.os.DeadObjectE ...·  1 年前    · 
威武的长颈鹿  ·  getDeclaredMethod()和ge ...·  1 年前    · 
销魂的海豚  ·  Gtest/Gmock实战之Gmock_51 ...·  1 年前    · 

Java中和日期直接相关的类有很多,平时最常用到的就是java.util package下面的Date和Calendar,需要用到格式的时候还会用到java.text.SimpleDateFormat

首先吐槽一下,Date和Calendar实际用起来还是有一些别扭的,刚开始用的时候不熟悉,老是分不清Date和Calendar类的具体用法和区别。

而且Calendar类的set方法来设置日期时又有一些反人类,设置月份的时候总是要脑补一下减去1,比如要设置为2018年1月6日就要设置成2018,0,6,因为在这里一月是用0来表示的:

Calendar cal = Calendar.getInstance();
cal.set(2018, 0, 8);

具体的原因可以看这里的回答: StackOverflow: Why is January month 0 in Java Calendar?

反正我是不太看得下去。。

前几天有一个简单的需求,就是根据某两个日期来计算出年龄。上网查了一下,直接抛弃了难用的Date和Calendar类,直接用java.time.LocalDate来做。话不多说直接上代码:

Java 日期 直接相关的类有很多,平时最常用到的就是 java .util package下面的Date和Calendar,需要用到格式的时候还会用到 java .text.SimpleDateFormat首先吐槽一下,Date和Calendar实际用起来还是有一些别扭的,刚开始用的时候不熟悉,老是分不清Date和Calendar类的具体用法和区别。而且Calendar类的set方法来设置 日期 时又有一些... 从 Java 版本1.0开始就支持 日期 和时间,主要通过 java .util.Date类。 但是,Date类设计不佳。 例如,Date 的月份从1开始,但从 日期 却从0开始。在JDK 1.1 使用 它的许多方法已经废弃,同时 java .util.Calendar被引入来接管Date 的一些功能。 这两个是处理 日期 和时间的主要类,直到JDK 1.7,尽管他们被认为是不足够并且不容易处理,导致许多人诉诸第三方替代品... 在本教程 ,我们将了解实体的基础知识,以及在 JPA 定义和自定义实体的各种注释。JPA 的实体只不过是表示可以持久保存到数据库的数据的 POJO。实体表示存储在数据库 的表。实体的每个实例都表示表 的一行。假设我们有一个名为 Student 的 POJO,它表示学生的数据,我们希望将其存储在数据库 : 为了做到这一点,我们应该定义一个实体,以便JPA知道它。因此,让我们通过 使用 @Entity注释来定义它。我们必须在类级别指定此注释。我们还必须确保实体具有 no-arg 构造函数和主键: 首先, LocalDate 是一个immutable class(不可变类),所以和String类一样,不需要new一个新的对象才可以 使用 LocalDate 类用于设定 日期 的是of方法(重载),以下是其 的一个: public static LocalDate of(int year, int month, int dayOfMonth) 设置年月日,好消息是这里的month是从1开始的。 下面是 LocalDate 类用于比较 日期 的until方法: public Period until(ChronoL. 方法名返回值类型备注getYear()int获取当前 日期 的年份getMonth()Month获取当前 日期 的月份对象int获取当前 日期 是第几月DayOfWeek表示该对象表示的 日期 是星期几int表示该对象表示的 日期 是这个月第几天int表示该对象表示的 日期 是今年第几天 LocalDate 修改当前对象的年份 LocalDate 修改当前对象的月份 LocalDate 修改当前对象在当月的 日期 boolean是否是闰年int这个月有多少天int。 设计一个名字为IdCardCheck. java 类,实现从键盘输入一个身份证号码字符串,判断输入的字符串是否符合身份证号码的规则,如果符合, 计算 输出 年龄 并输出它的 年龄 ,输出你出生在那一年的第几周以及出生到现在已经经过了几周了。如果不符合,提示,并让其重新输入。直到输入正确身份证号码为止。(备注:作业题,描述不算很严谨,大体功能还是明确的) 身份证号码基本格式的校验要用到【正则表达式... 身份证号编码规则 第一、二位表示省(自治区、直辖市、特别行政区)。 第三、四位表示市(地级市、自治州、盟及国家直辖市所属市辖区和县的汇总码)。其 ,01-20,51-70表示省直辖市;21-50表示地区(自治州、盟)。 第五、六位表示县(市辖区、县级市、旗)。01-18表示市辖区或地区(自治州、盟)辖县级市;21-80表示县(旗);81-99表示省直辖县级市。 第七、十四位表示出生年月日(单数字月日左侧用0补齐)。其 年份用四位数字表示,年、月、日之间不用分隔符。例如:1981年05月11日就用198105