发布日期:2018-03-26
如何在Java中获取当前的日期/时间?[重复]+ 查看更多
如何在Java中获取当前的日期/时间?[重复]
+ 查看更多
发布日期:2018-03-26 10:47
分类:JAVA
浏览次数:280
这个问题在这里已经有一个答案了:
在Java中使用相当于C#的“DateTime.Now”的方法吗?
获得日期/时间的最好的方法是什么?
在Java中使用相当于C#的“DateTime.Now”的方法吗?
获得日期/时间的最好的方法是什么?
回答
这取决于你想要何种形式的日期/时间:
- 如果你希望日期/时间为单个数值,则System.currentTimeMillis()方法将会返回给你以UNIX纪元之后的毫秒数(表示为Java long)表示的值。该值是从UTC时间点到现在的增量,并且独立于本地时区...假设系统时钟已正确设置。
- 如果你希望以允许以数字方式访问组件(年,月等)的日期/时间的形式,可以使用以下方法之一:
- “new Date()”给你一个用当前日期/时间初始化的Date对象。问题是,“Date” 的API方法大多有缺陷...并且已弃用。
- “Calendar.getInstance()”使用默认的语言环境和时区来为您提供使用当前日期/时间初始化的Calendar对象。其他重载方法允许您使用特定的语言环境和时区来设置。虽然Calendar可以实现该目的...但是API仍然很繁琐。
- “new org.joda.time.DateTime()”使用默认的时区和年表来提供使用当前日期/时间初始化的Joda时间对象。还有很多其他Joda的替代方案...太多以致于不能在这里一一描述。
- 在Java 8中,调用“LocalDateTime.now()”和“ZonedDateTime.now()”将为您提供当前的日期/时间。
在Java 8之前,大多数了解这些事情的人认为Joda时间类拥有(到目前为止)用于做时间点和持续时间计算的最好的Java API。但在Java 8中,这不再是正确的。不过,如果您已在代码库中使用Joda时间类,也没有十分的必要去做代码的迁移。