Java8新特性之日期时间对象及一些其他特性-创新互联

日期时间对象

吕梁网站制作公司哪家好,找成都创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站等网站项目制作,到程序开发,运营维护。成都创新互联成立与2013年到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联

关于日期时间的操作可以分为两种:

  • 转换:与字符串的互相转换,与时间戳的互相转换
  • 计算:计算两个时间点之间的间隔、时间点与时间段的计算(计算下周N、下个月D日、去年M月D日等等)

Java8 提供了三个类:LocalDateLocalTimeLocalDateTime,它们的形式如2020-01-0112:30:002020-01-01 12:30:00

创建对象

获取类对象的方法非常非常简单

LocalDate now = LocalDate.now();
LocalDate ld = LocalDate.of(2019, 1, 1);
// 获取年月日
now.getYear();
now.getMonthValue(); // 如果你调用了 now.getMonth() ,那么它将返回给你一个大写的英文月份单词
now.getDayOfMonth();
// 顾名应该思义
getDayOfWeek();
getDayOfYear(); 

// 设置年月日
LocalDate ld1 = ld.withYear(2021);  // 2021-01-01
LocalDate ld2 = ld.withMonth(12);  // 2019-12-01
LocalDate ld3 = ld.withDayOfMonth(12); // 2019-12-12
// 你可能会纳闷,既然是设置,为什么不用单词 set 呢,而用 with
// 因为,set 操作一般是改变调用对象本身,没有返回值;
// 而 with 是在调用对象基础上另外创建一个新对象,设置好值后返回,没有改变调用对象

// 如果你是那个打破砂锅的孩子,你可能会问:为什么不能改变调用对象?
// 因为 LocalDate 是 final 修饰的(final 人称 Java 界的自宫之刀)
// 从物理的角度来讲,目前人类无法改变时间(穿越)

// 如果你有 ld.withMonth(13) 这种反人类历法的操作,当然是会抛出异常的

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前题目:Java8新特性之日期时间对象及一些其他特性-创新互联
本文URL:http://hbruida.cn/article/deehdi.html