Java 1.8新日期处理类如何改写为长尾?

2026-04-18 00:321阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1317个文字,预计阅读时间需要6分钟。

Java 1.8新日期处理类如何改写为长尾?

Java 1.0 包含一个 Date 类,但许多方法在 Java 1.1 引入 Calendar 类后被废弃。Calendar 类相比 Date 类,使用上并不占优。它们面临的问题是可变性:日期和时间对象是否应该不可变。

Java1.0中包含了一个Date类,但是它的大多数方法已经在Java 1.1引入Calendar类之后被弃用了。而Calendar并不比Date好多少。它们面临的问题是:

  • 可变性:象日期和时间这样的类对象应该是不可变的。Calendar类中可以使用三种方法更改日历字段:set()、add() 和 roll()。

    Java 1.8新日期处理类如何改写为长尾?

  • 偏移性:Date中的年份是从1900开始的,而月份都是从0开始的。

  • 格式化:格式化只对Date有用,Calendar则不行。

  • 此外,它们也不是线程安全的,不能处理闰秒等。

可以说,对日期和时间的操作一直是Java程序员最痛苦的地方之一。第三次引入的API是成功的,并且java 8中引入的java.time API 已经纠正了过去的缺陷,将来很长一段时间内它都会为我们服务。

阅读全文

本文共计1317个文字,预计阅读时间需要6分钟。

Java 1.8新日期处理类如何改写为长尾?

Java 1.0 包含一个 Date 类,但许多方法在 Java 1.1 引入 Calendar 类后被废弃。Calendar 类相比 Date 类,使用上并不占优。它们面临的问题是可变性:日期和时间对象是否应该不可变。

Java1.0中包含了一个Date类,但是它的大多数方法已经在Java 1.1引入Calendar类之后被弃用了。而Calendar并不比Date好多少。它们面临的问题是:

  • 可变性:象日期和时间这样的类对象应该是不可变的。Calendar类中可以使用三种方法更改日历字段:set()、add() 和 roll()。

    Java 1.8新日期处理类如何改写为长尾?

  • 偏移性:Date中的年份是从1900开始的,而月份都是从0开始的。

  • 格式化:格式化只对Date有用,Calendar则不行。

  • 此外,它们也不是线程安全的,不能处理闰秒等。

可以说,对日期和时间的操作一直是Java程序员最痛苦的地方之一。第三次引入的API是成功的,并且java 8中引入的java.time API 已经纠正了过去的缺陷,将来很长一段时间内它都会为我们服务。

阅读全文