java - 替代已弃用的 java date.sethours

标签 java gwt date datepicker

我正在使用 2 个 GWT 日期选择器和一个 JAVA 日期对象。我想检查当前日期(来自 now() 函数)是否在日期选择器中选择的日期之间。 我有两个问题:

  1. 如何确保第二个日期选择器中选择的日期至少与第一个日期选择器中选择的日期相同或晚于第一个日期选择器中选择的日期?

  2. 我想在两个日期选择器中设置相同的日期并对照它检查我的当前日期。我试图通过将第二次约会的时间设置为晚上 11:59:59 来实现这一点,但它说 Date.setHours 和 setMinutes 方法已被弃用。

有什么想法吗?感谢任何帮助。

附注请不要告诉我使用日历或任何其他日期功能。我的约束是我需要使用 java.util.Date。

最佳答案

不管您的 IDE 对此有何评论,使用旧的 java.util.Date 方法并不是那么糟糕。在常规 Java 代码中,是的,改用 Calendar 类,但由于历史原因,请三思不要使用那些“已弃用”的方法。

曾几何时,Java 是最酷的 child ——很奇怪,对吧? Web 浏览器没有这样的语言,有人说“嘿,让他们给他们一个脚本语言,但给它起个名字,我不知道,酷!”因此,我们得到了 JavaScript——比 Java 更像是一种类似 Lisp 的语言,但没关系。

有些API是借用的,比如Date对象。然后,Java 决定它可以更好地处理日期、时间和时区,弃用了诸如 setHours 之类的函数,并转向了 Calendar、JodaTime 等光明(但令人困惑)的 future 我们了解并喜爱今天。

虽然浏览器有 JavaScript,并且正在寻找自己的方式,并继续使用这些方法。有一些 JavaScript 库可以帮助处理日期,但在浏览器运行时中,Date 对象看起来仍然像旧的 java.util.Date

因此,当在 GWT 中时,在您喜欢的地方用 Java 编写,但始终记住您在 Web 浏览器中 - 底层语言恰好具有使用那些已弃用方法的 native 功能 - 而且它们无处可去。同样,即使 Object.wait()notify() 是合法的,您也不能使用它们,您的 finalize() 也不会永远不会被调用 - 这些只是您在使用 Java 组织和维护您的库或应用程序以及使用 JavaScript 编译以在 Web 浏览器中运行时需要记住的事情。

关于java - 替代已弃用的 java date.sethours,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13888477/

相关文章:

java - 使用 Java 中的 GroovyClassLoader - 未 GC 的类

java - Spring 休息 Controller : HTTP 406 when an exception is thrown in Rest Controller

JavaFX 设置 ListView 可编辑

java - 转储大量 DataInputStreams 是不好的做法吗?

java - 在 String 中多次出现

c# - 正则表达式特定日期格式

java - 如何设置从一个国家到另一个国家的日期格式?

mysql - 从 csv 文件中的序列号转换日期以进行 mysql 导入

java - 多个模块的 GWT 欢迎文件

java - GWT 中的硬刷新