Java8 本地DateTime API
原文:http://www.yiibai.com/java8/java8_localdateapi.html
使用Java8,新的日期时间API引入覆盖旧的日期时间API的以下缺点。
非线程安全 - java.util.Date不是线程安全的,因此开发者必须在使用日期处理并发性问题。新的日期时间API是不可变的,并且没有setter方法。
设计不佳 - 默认的开始日期从1900年,开始每月从1天从0开始,所以没有统一。不直接使用方法操作日期。新的API提供了这样操作实用方法。
困难的时区处理 - 开发人员必须编写大量的代码来处理时区的问题。新的API设计开发保持特定领域设计。
Java8Tester.java
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(){// Get the current date and timeLocalDateTime currentTime = LocalDateTime.now(); System.out.println("Current DateTime: " + 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: " + month+"day: " + day+"seconds: " + seconds);LocalDateTime date2 = currentTime.withDayOfMonth(10).withYear(2012);System.out.println("date2: " + date2);//12 december 2014LocalDate date3 = LocalDate.of(2014, Month.DECEMBER, 12); System.out.println("date3: " + date3);//22 hour 15 minutesLocalTime date4 = LocalTime.of(22, 15); System.out.println("date4: " + date4);//parse a stringLocalTime date5 = LocalTime.parse("20:15:30"); System.out.println("date5: " + date5);} }
使用javac编译器编译如下类
C:\JAVA>javac Java8Tester.java
现在运行Java8Tester看到的结果
C:\JAVA>java Java8Tester
看到结果
Current DateTime: 2014-12-09T11:00:45.457 date1: 2014-12-09 Month: DECEMBERday: 9seconds: 45 date2: 2012-12-10T11:00:45.457 date3: 2014-12-12 date4: 22:15 date5: 20:15:30
Java8 本地DateTime API相关推荐
- Java8 时区DateTime API
原文:http://www.yiibai.com/java8/java8_zoneddateapi.html 时区日期时间的API正在使用当时区要被考虑时. 让我们来看看他们的操作. 选择使用任何编辑 ...
- Java SE 8新功能介绍:使用新的DateTime API计算时间跨度
使用Java SE 8新的DateTime API JSR 310-可以实现更清晰,可读且功能强大的编码. Java SE 8,JSR 310 在上一篇文章" 使用Streams API处理 ...
- java moment 日期转换_关于日期:如何使用Java 8 DateTime API转换修改后的儒略日数字...
我有一个数据库,用于存储日期和日期时间(分别为INTEGER和DOUBLE)作为已修改的儒略日数(MJD).修改后的儒略日数是自1858年11月17日午夜UTC以来连续的天数.根据定义,它们始终以UT ...
- Java 8 Date-Time API 详解
从Java版本1.0开始就支持日期和时间,主要通过java.util.Date类. 但是,Date类设计不佳. 例如,Date中的月份从1开始,但从日期却从0开始.在JDK 1.1中使用它的许多方法已 ...
- java8的日期API总结(JSR310)
为什么80%的码农都做不了架构师?>>> 时间API回顾 Java的日期时间API,一直有一些令人头疼的问题. 有了 java.util.Date 又搞出个java.sql.D ...
- 微信小程序学习Course 8 本地缓存API
微信小程序学习Course 8 本地缓存API 本篇随笔主要介绍微信小程序本地缓存API函数,微信小程序可以在本地缓存一些关键词数据,每一条关键词对应一段字符串.微信小程序提供了以下API函数. 8. ...
- HTML5权威指南--Web Storage,本地数据库,本地缓存API,Web Sockets API,Geolocation API(简要学习笔记二)...
1.Web Storage HTML5除了Canvas元素之外,还有一个非常重要的功能那就是客户端本地保存数据的Web Storage功能. 以前都是用cookies保存用户名等简单信息. 但是coo ...
- 用C#和本地Windows API操纵系统菜单
一.前言 .net框架是Windows应用领域中一个非常新的技术,可以肯定在未来的一段时间内,.NET应用必须与现存的Windows技术交互作用.这种交互作用主要体现在两个领域:COM和应用编程接口( ...
- node JS獲取GPS_Node.js 14 正式发布:V8 引擎升级,新增异步本地存储 API
Node.js 14 版本于近日正式发布, 此版本包含的亮点如下: 对诊断功能的改进 升级 v8 引擎 新增实验性的异步本地存储 API 强化流 API 移除实验性模块中的警告 移除一部分早期版本中废 ...
最新文章
- 纠正一个错误,分布式系统关注点第17篇
- 幼儿园调查过程怎么写_幼儿园对孩子的重要性你真的清楚吗?
- hdu1002——A + B Problem II
- 空头平仓什么意思_什么是白糖期货期权仿真交易套利机会?
- linux下fish配置终端,如何在Linux中安装、配置和使用Fish Shell?
- acr122 java,ACR122开发包 SDK v1.1 [CDR 146]
- 升级Ubuntu18.04的linux kernel(修复小米游戏本的触摸板驱动问题)
- 王者荣耀服务器未响应 小米,10月23日小米手机更新王者荣耀失败 小米更新不了新赛季怎么办...
- java int格式转换文本_java 文件导出Excel 文本形式转数字格式解决,字段是int导出需求是数字解决方案...
- 费雪耶兹(Fisher–Yates) 也被称作高纳德( Knuth)随机置乱算法
- 操作系统 - - 生产者—消费者问题(PV操作)代码显示
- 三、硬盘分类与操作系统的启动流程
- electron-vue通过配置文件设置baseUrl
- 谷歌浏览器chrome安装vuejs devtools 插件
- 车联网未来发展会是怎么样的呢
- 奇偶页不同页眉页脚设置
- 智能5G网络发展概述
- Laradock 使用笔记
- 德国金融监管机构就区块链证券监管发布公告
- 更改SQL Server数据库名、数据库文件名、逻辑文件名的方法
热门文章
- 又有好奇心,又能自主学习,这个机器人棒棒哒!
- 《UVM实战》——3.1节UVM的树形结构
- [Vampier-magnetic material]3:cylinder core-shell material
- 结构型模式:Decorator 装饰模式
- Python高级知识点学习(一)
- 关闭tomcat报错Cannot allocate memory
- 转载:::::简单分享一个轻量级自动化测试框架目录结构设计
- Linux的cron和crontab
- java 8 新特性 时间api使用实例
- 使用php-amqplib连接rabbitMQ 学习笔记及总结