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