当前位置: 首页 > 面试题库 >

如何使用Java获取当前日期/时间

唐恺
2023-03-14
问题内容

用Java获取当前日期/时间的最佳方法是什么?


问题答案:

这取决于你想要的日期/时间形式:

  • 如果你想将日期/时间作为一个单一的数值,则System.currentTimeMillis()可以用UNIX纪元后的毫秒数(以Java形式long)表示。该值是UTC时间点的增量,并且与本地时区无关…假设系统时钟已正确设置。

  • 如果你希望日期/时间的格式允许你以数字方式访问组件(年,月等),则可以使用以下方式之一:

  • new Date()给你一个Date使用当前日期/时间初始化的对象。问题在于DateAPI方法大多存在缺陷……并且已过时。

  • Calendar.getInstance()Calendar使用默认的Locale和为你提供一个使用当前日期/时间初始化的对象TimeZone。其他重载允许你使用特定的Locale和/或TimeZone。日历可以工作…但是API仍然很麻烦。

  • new org.joda.time.DateTime()使用默认时区和年表为你提供一个使用当前日期/时间初始化的Joda时间对象。Joda还有许多其他替代方案,在此无法描述。(但请注意,有些人报告说Joda时间存在性能问题。例如,第一次使用Jodatime的LocalDateTime速度很慢。)

在Java中8,呼吁java.time.LocalDateTime.now()java.time.ZonedDateTime.now()会给你申述1当前日期/时间。

在Java 8之前,大多数了解这些事情的人都建议Joda-time拥有(到目前为止)最好的Java API来完成涉及时间点和持续时间计算的事情。

对于Java 8和更高版本,java.time建议使用标准软件包。现在,Joda时间被认为是“过时的”,Joda的维护者建议人们迁移。2。

1-请注意,LocalDateTime不包含时区。正如javadoc所说:“如果没有其他信息(例如偏移量或时区),它就无法在时间轴上表示时刻。”

2-注意:如果不迁移,你的Java 8代码不会中断,但是Joda代码库最终可能会停止获得错误修复和其他补丁。截至2020-02,尚未宣布Joda的正式“生命周期终止”,并且尚未将Joda API标记为已弃用。



 类似资料:
  • 问题内容: 如何使用Java获取当前日期和时间? 我正在寻找与C#等效的东西。 问题答案: 只需构造一个没有任何参数的新对象即可;这会将当前日期和时间分配给新对象。 在的话的Javadoc的无参数的构造函数: 分配一个Date对象并对其进行 初始化,以便它表示分配它的时间( 以最近的毫秒为单位)。 确保您使用的不是-后者没有零参数构造函数,并且语义有所不同,这是完全不同的对话的主题。:)

  • 问题内容: 当我创建一个新Date对象时,它将被初始化为当前时间,但是在本地时区。如何获取格林尼治标准时间的当前日期和时间? 问题答案: 尽管它的值通常是与UTC有关的,但它没有特定的时区。是什么让你认为这是当地时间? 准确地说:内的值是自Unix时代(UTC)在1970年1月1日午夜开始的毫秒数。相同的纪元也可以在其他时区进行描述,但是传统的描述是以UTC表示的。由于距固定纪元以来的毫秒数,因此

  • 问题内容: 刚从操场开始。我正在尝试创建一个简单的应用程序。 我创建了一个这样的日期对象: 我如何获得当前时间?在其他语言中,我可以执行以下操作: 但是我找不到像这样的任何属性/方法。我找到了一种方法。我应该用那个吗?如果是这样,怎么办? 问题答案: Swift 3更新: 我这样做: 在Objective-c中看到相同的问题,如何从NSDate获得小时和分钟?与Nate的答案相比,您将获得一个数字

  • 问题内容: 要插入到列中。我正在使用 数据库。我的问题是: SQL中有可用的功能吗?或者 它取决于实现,因此每个数据库对此都有自己的功能? MySQL中可用的功能是什么? 问题答案: 完整答案: 1. SQL中有可用的功能吗? 是的,SQL 92规范,97年10月,第pg。171第6.16节指定了以下功能: 2.它是依赖于实现的,因此每个数据库对此都有自己的功能吗? 每个数据库都有其自己的实现,但

  • 我有一个用JavaScript打印当前日期和时间的脚本,但是总是错误的。代码如下: 它应该打印并打印

  • 问题内容: 是否可以在手动查询中使用诸如DATETIME之类的值或命令来插入当前日期和时间? 末尾引用的DATETIME值是我要添加当前日期和时间的位置。 问题答案: 您可以使用: