方法 日期时间.now() 和新的日期时间(System.current时间千米())

我需要知道,在java(我的版本jdk 8)中,我可以替换,这个代码形式,''?new DateTime(System.currentTimeMillis())DateTime.now()

我用了包装import org.joda.time.DateTime;

如何在java 8(日期和时间)中编写同样的东西?


慕神8447489
浏览 91回答 4
4回答

Qyouu

博士java.time.Instant.now()  // Capture the current moment in UTC.在内部,该时刻被跟踪为整秒计数加上纳秒计数的小数秒数,因为纪元参考为 1970-01-01T00:00:00Z(均值 UTC)。Z时间你的类显然来自乔达时间库。该库的创建者斯蒂芬·科尔伯恩继续用Java 8及以后根据JASR 310内置的java.time类取代了Joda-Time。DateTimeInstant在 UTC 中片刻,请使用 。要以 UTC 格式捕获当前时刻,请 .InstantInstant.now()Instant表示自 UTC 中 1970 年第一个时刻的纪元引用以来的纳秒数。调用是相同的,自 1970 年 UTC 开始以来的计数,除了更粗糙的毫秒分辨率而不是纳秒。在实践中,传统的计算机时钟无法以纳秒为单位准确跟踪当前时刻,因此捕获当前时刻可能仅捕获微秒(在Java 9及更高版本中典型)或毫秒(在Java 8中)。System.currentTimeMillis()Instant结果:没有必要打电话给系统。请改用。Instant.now()ZonedDateTime等效于 。此类表示通过特定区域(时区)的人们使用的挂钟时间看到的时刻。DateTimeZonedDateTimeZoneId z = ZoneId.of( "Africa/Tunis" ) ; ZonedDateTime zdt = ZonedDateTime.now( z ) ;

慕仙森

在 Java 8 中,日期时间映射到 和 。java.time.ZonedDateTimejava.time.OffsetDateTime此页面由Joda Time的创建者/作者/维护者编写,它建议:如果您正在用 Java SE 8 编写代码,那么是时候迁移到 java.time 了...

慕标琳琳

是的。 会打电话new DateTime(System.currentTimeMillis())public DateTime(long instant) {    super(instant);}然后public BaseDateTime(long instant) {    this(instant, ISOChronology.getInstance());}并会打电话DateTime.now()public static DateTime now() {    return new DateTime();}然后public DateTime() {    super();}然后public BaseDateTime() {    this(DateTimeUtils.currentTimeMillis(), ISOChronology.getInstance());}这与第一种方式相同。

子衿沉夜

是的。这是相关的代码:public BaseDateTime() {    this(DateTimeUtils.currentTimeMillis(), ISOChronology.getInstance());}public BaseDateTime(long instant) {    this(instant, ISOChronology.getInstance());}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java