阅读更多

19顶
1踩

编程语言
JSR 310(Date and Time API)规范已经逐渐成熟,近日JCP执行委员会发布了该规范的第2个早期草案。

JSR 310为Java提供了一个新的、改进的日期和时间API,以代替目前复杂的难以使用的日期和时间功能。根据新功能列表显示,JSR 310已经被添加到了下一代的OpenJDK 8 和Java 8中。


根据计划,JSR 310将包含在2013年1月份发布的Java 8第6个里程碑版本中。

Java最初对时间和日期的处理是将时间作为一个单一的常变量,过分简单化且有很大的局限性。在1999年,IBM贡献了一个替代API,试图尽可能地实现灵活性,但随后被证明在大多数情况下仍比较笨重。2005年,Stephen Colebourne创建了Joda-Time库,作为替代的日期和时间API。Stephen向JCP提交了一个规范,他本人作为规范的领导人,该规范就是JSR 310。JSR 310原本打算包含在Java 7中,但最终没有实现。

ThreeTen项目是JSR 310的参考实现,开发者可通过该项目来了解新版的日期和时间API。该项目托管在SourceForgeGitHub
  • 大小: 32.8 KB
19
1
评论 共 23 条 请登录后发表评论
23 楼 chrrity 2012-09-19 13:11
anglestudio 写道
conanca 写道
被吐槽了n年之久,终于能改进下日期API了


:cry,写完
hooluupig 写道
kidfang 写道
一个日期到现在没改进,究竟是为什么

Backward compatibility。java本身中有很多遗留的错误(或者陷阱,java解惑那本书里都有)以及api中大量的垃圾代码,被废弃或者实现的不好的代码,这些到了java 7依旧存在。java不能很快的修正清理掉旧的东西,添加一些新的特性进来,一切问题的根源都是backward compatibility。这个日期api估计也是毫不容易才将对兼容性的影响降低到最小(可能是这个api太差,本身没有多少人去用,都是自己另外写,所以影响不大),但我觉得java有必要学习一下python,也搞个java 3k,现在的java包袱太重了。

写完python 再写java。各种不爽,python3,4行搞定的功能,java要写一坨...
22 楼 freezingsky 2012-09-19 11:13
有些时候,java 要往前发展,必然要有些牺牲。连jquery 2.0都有决心跨越,java也应该对一些实在烂的遗留问题,彻底抛弃。
21 楼 mfkvfn 2012-09-19 11:06
应该出一个不兼容版本。或者像某些产品一样,只兼容最近2次的版本。不兼容更早的版本。
20 楼 bcw104 2012-09-19 08:37
hooluupig 写道
kidfang 写道
一个日期到现在没改进,究竟是为什么

Backward compatibility。java本身中有很多遗留的错误(或者陷阱,java解惑那本书里都有)以及api中大量的垃圾代码,被废弃或者实现的不好的代码,这些到了java 7依旧存在。java不能很快的修正清理掉旧的东西,添加一些新的特性进来,一切问题的根源都是backward compatibility。这个日期api估计也是毫不容易才将对兼容性的影响降低到最小(可能是这个api太差,本身没有多少人去用,都是自己另外写,所以影响不大),但我觉得java有必要学习一下python,也搞个java 3k,现在的java包袱太重了。

19 楼 方世玉 2012-09-18 16:05
Joda确实挺好用的,特别是在遇到时区转换的时候,非常方便。
18 楼 xfxlch 2012-09-18 11:31
有必要的吗,现在很多人或者很多的公司都有自己实现的日期工具类。而且网上也有很多的参考,个人觉得还挺好用的
17 楼 szsuyuji 2012-09-18 11:28
freezingsky 写道
我个人感觉,java 的日期时间API确实不好理解。另外,swing这一块,Java真的是不打算改进了吗?桌面也要放弃吗?

用swt吧
16 楼 hooluupig 2012-09-18 11:27
kidfang 写道
一个日期到现在没改进,究竟是为什么

Backward compatibility。java本身中有很多遗留的错误(或者陷阱,java解惑那本书里都有)以及api中大量的垃圾代码,被废弃或者实现的不好的代码,这些到了java 7依旧存在。java不能很快的修正清理掉旧的东西,添加一些新的特性进来,一切问题的根源都是backward compatibility。这个日期api估计也是毫不容易才将对兼容性的影响降低到最小(可能是这个api太差,本身没有多少人去用,都是自己另外写,所以影响不大),但我觉得java有必要学习一下python,也搞个java 3k,现在的java包袱太重了。
15 楼 shuaiji 2012-09-18 11:01
细节东西啊
14 楼 kidfang 2012-09-18 10:16
一个日期到现在没改进,究竟是为什么
13 楼 iwangxiaodong 2012-09-18 10:00
java api确实欠缺常用功能的覆盖,倒成就了:Apache Commons项目
12 楼 tangfei326 2012-09-18 09:21
freezingsky 写道
我个人感觉,java 的日期时间API确实不好理解。另外,swing这一块,Java真的是不打算改进了吗?桌面也要放弃吗?

java fx 吧。不知道这个对swing有没有帮助
11 楼 bcw104 2012-09-18 08:47
应该把guava或者common-lang加入Jdk里.
10 楼 liuzejian4 2012-09-18 07:27
freezingsky 写道
我个人感觉,java 的日期时间API确实不好理解。另外,swing这一块,Java真的是不打算改进了吗?桌面也要放弃吗?

要用javafx 代替吧
9 楼 anglestudio 2012-09-17 22:22
conanca 写道
被吐槽了n年之久,终于能改进下日期API了

8 楼 yidao620c 2012-09-17 21:30
conanca 写道
被吐槽了n年之久,终于能改进下日期API了

泪奔。。 
7 楼 freezingsky 2012-09-17 19:48
我个人感觉,java 的日期时间API确实不好理解。另外,swing这一块,Java真的是不打算改进了吗?桌面也要放弃吗?
6 楼 kjj 2012-09-17 16:05
ray_linn 写道
赶紧把 util 包理一理,都成垃圾堆了。

对,还不如直接替换成apache  lang呢
5 楼 zfc827 2012-09-17 15:57
除非必要,一般情况都用Joda-Time库
4 楼 TheMatrix 2012-09-17 15:15
经常自己写啊,每到一个新项目,都要写一遍,哈哈。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • SpringBoot,Mybatis 使用Java8(JSR310)时间日期规范

    ⏹SpringBoot,Mybatis 使用Java8(JSR310)时间日期规范

  • 高级JAVA开发必备技能:java8 新日期时间API((二)JSR-310:常用的日期时间API)(JAVA 小虚竹)

    高级JAVA开发必须掌握技能java8 新日期时间API((二)JSR-310:常用的日期时间API

  • How to use jsr310 in JDK8 in spring boot project

    How to use LocalDateTime in JDK8 in spring boot project

  • mybatis逆向工程兼容JDK8的时间API

    mybatis逆向工程是常用的生成代码工具,在jdk8之后提供了一套新的API,可以将数据库date类型的生成LocalDate的java类型,将数据库datetime类型的生成LocalDateTime类型, 在xml中生成timeStamp类型。 该工程我放到...

  • JDK8 after时间日期api

      介绍   简介 为了解决这些问题并在JDK内核中提供更好的支持,针对Java SE 8设计了一个新的没有这些问题的日期和时间API。...before JDK8 时间日期Api缺点: 1️⃣ 可变性:对于时间与日期而言应该是不可

  • 【Java基础】使用Java8新的日期和时间API

    文章目录简介java8是如何处理时间及日期的 简介 Java三次引入处理时间的API,JDK1.0中包含了一个Date类,但大多数方法在java1.1引入Calendar类之后被弃用了。 它的实例都是可变的,而且它的API很难使用,比如月份是...

  • JDK 8 新特性 | 新时间日期 API

    Java 8通过发布新的Date-Time API (JSR 310)来进一步加强对日期与时间的处理。 在旧版的 Java 中,日期时间 API 存在诸多问题,其中有: 非线程安全 − java.util.Date 是非线程安全的,所有的日期类都是可变的...

  • Mybatis中使用JDK8的日期API-LocalDateTime

    再多说一点,Mysql中与日期时间相关的类型有如下5种: time , date , datetime , timestamp , year ,所以我们基于这几种类型进行如下两个简单的例子: 新建表结构:   表结构.png   ...

  • 【Java新特性学习 四】JDK8: 库函数新特性之Optional,Streams,Date/Time API(JSR 310),Base64,并行数组

    之前一直不知道Optional是什么东西,stream又是什么东西,LocalTime又是什么,...大致懂了这些Java8新提供的库函数用途,以及其实际实现时如何依托Lambda、函数式接口以及静态和默认接口方法的。有一种豁然开朗的赶脚。

  • 【Java基础系列教程】第二十六章 JDK8新特性_Optional类、新日期时间API、Base64

    一、Optional类 二、新日期时间 API 三、Java8 Base64

  • JDK8 时间日期(完整教程)

    日期时间概述 日期时间设计原则 日期时间包 方法命名约定 标准日历 概述 DayOfWeek和Month枚举 日期类 日期和时间类 时区和偏移类 Instant类 ...非ISO日期转换 遗留日期时间代码 ...问题和练习:日期时间API

  • Spring4新特性——JSR310日期时间API的支持

    Spring4新特性——泛型限定式依赖注入 ...Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC  Spring4新特性——Groovy Bean定义DSL Spring4新特性——更好的Java泛型操作API  Spring

  • Java8 - 日期和时间实用技巧

    当你开始使用Java操作日期和时间的时候,会有一些棘手。你也许会通过System.currentTimeMillis() 来返回1970年1月1日到今天的毫秒数。或者使用Date类来操作日期;当遇到加减月份、天数的时候 你又需要用到Calendar...

  • JDK8 到 JDK17版本新增特性

    JDK8新特性 重要特性:Lambda表达式、函数式接口、方法引用、Stream流式API、采用MetaSpace代替了永久代(PermGen Space) 1、Lambda表达式 new Thread( () -> System.out.println("In Java8, Lambda expression ...

  • Mybatis中使用JDK8的日期API的配置

    概述 在使用Mybatis这种半自动化的框架中,我们都知道,实体Entity的属性与...而在JDK8中,目前是没有直接提供与LocalDate这种相关联的映射的。如果直接使用,会提示类似错误: No typehandler found for property

  • JDK 8 中的新特性

    本文档总结了 Java SE 8、JDK 8 以及 Oracle 的 Java SE 8 实现中的特性和增强。单击组件名称可获取该组件增强功能更详细的描述。 Java 编程语言 Lambda 表达式是一个新的语言特性,已经在此版本中引入。该特性...

  • 温故 Java 8 日期 API

    前言 为什么我们需要一个新的日期和时间库? Java开发中一个长期存在的窘境是对普通开发者的date和time用例支持不足。...一些日期和时间类也表现出相当差的API设计。例如,java.util.Date中的年份开始于190...

  • JDK11变化详解&JDK8升级JDK11详细指南

    原文链接:https://yq.aliyun.com/articles/659407 官方英文原版:... Java平台,标准版 Oracle JDK迁移指南 第11版 E...

  • Java时间类API(java.util.Date、java.util.Calendar、JSR 310)的概念、用法

    Java 8之前用Date类型来表示日期/时间,Java 8起引入了JSR 310日期/时间类型。两套体系对于本地时间、时区时间、带时区的格式化都有着不同的处理办法。

  • java jdk8 新特性_JDK8之新特性扩展篇

    BASE64base64编码解码已经被加入到了jdk8中了。import java.nio.charset.StandardCharsets;import java.util.Base64;public class Base64Test {public static void main(String[] args) {Stri...

Global site tag (gtag.js) - Google Analytics