JAVA语言 8 日期时间 API 学习讲解
小标 2018-10-12 来源 : 阅读 1134 评论 0

摘要:本文主要向大家介绍了JAVA语言 8 日期时间 API 学习讲解,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

本文主要向大家介绍了JAVA语言 8 日期时间 API 学习讲解,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。


非线程安全 java.util.Date 是非线程安全的,所有的日期类都是可变的,这是Java日期类最大的问题之一。


设计很差 Java的日期/时间类的定义并不一致,在java.util和java.sql的包中都有日期类,此外用于格式化和解析的类在java.text包中定义。java.util.Date同时包含日期和时间,而java.sql.Date仅包含日期,将其纳入java.sql包并不合理。另外这两个类都有相同的名字,这本身就是一个非常糟糕的设计。


时区处理麻烦 日期类并不提供国际化,没有时区支持,因此Java引入了java.util.Calendar和java.util.TimeZone类,但他们同样存在上述所有的问题。


Java 8 在java.time包下提供了很多新的 API。以下为两个比较重要的 API:


Local(本地) 简化了日期时间的处理,没有时区的问题。


Zoned(时区) 通过制定的时区处理日期时间。


新的java.time包涵盖了所有处理日期,时间,日期/时间,时区,时刻(instants),过程(during)与时钟(clock)的操作


import java.time.LocalDate;


import java.time.LocalTime;


import java.time.LocalDateTime;


import java.time.Month;


public class Java8Tester {


public static void main(String args[]){


Java8Tester java8tester = new Java8Tester();


java8tester.testLocalDateTime();


}


public void testLocalDateTime(){


// 获取当前的日期时间LocalDateTime currentTime = LocalDateTime.now();


System.out.println("当前时间: " + currentTime);


LocalDate date1 = currentTime.toLocalDate();


System.out.println("date1: " + date1);


Month month = currentTime.getMonth();


int day = currentTime.getDayOfMonth();


int seconds = currentTime.getSecond();


System.out.println("月: " + month +", 日: " + day +", 秒: " + seconds);


LocalDateTime date2 = currentTime.withDayOfMonth(10).withYear(2012);


System.out.println("date2: " + date2); // 12 december 2014


LocalDate date3 = LocalDate.of(2014, Month.DECEMBER, 12);


System.out.println("date3: " + date3); // 22 小时 15 分钟


LocalTime date4 = LocalTime.of(22, 15);


System.out.println("date4: " + date4); // 解析字符串


LocalTime date5 = LocalTime.parse("20:15:30");


System.out.println("date5: " + date5);}}


          

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注编程语言JAVA频道!


本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved