有关 Java 中日期的更多信息

问题描述 投票:0回答:1

我想我现在已经很好地掌握了约会。因此,我在类中创建了一个新对象,并为其分配了一个 Date 属性,并告诉它打印 Date 属性。确实如此,但就像 C# 中通常所做的那样,它提供了日期和时间。但在 C# 中,您可以通过以下方式更改它:

 Console.WriteLine("myDate = {0}:d", myDate);

并且 :d 将其更改为普通的日期格式,没有时间。 Java中有类似的方法吗?

java date format
1个回答
0
投票

您可能正在使用有严重缺陷的

java.util.Date
类。这是遗留的日期时间类之一,现已被 JSR 310 中定义的现代 java.time 类取代。

A

java.util.Date
,尽管它的名字选得不好,但它代表了时间线上的一个点,一个时刻。该类已被
java.time.Instant
取代。要进行转换,请使用添加旧类的新
to
/
from
方法。

Instant instant = myJavaUtilDate.toInstant() ;

java.util.Date
java.time.Instant
都没有约会。请记住,对于任何特定时刻,全球各地的日期都会因时区而变化。日本东京是“明天”,而美国俄亥俄州托莱多则是“昨天”。因此,要确定任何时刻的日期,您必须指定您想要感知日历的时区。

ZoneId zTokyo = ZoneId.of( "Asia/Tokyo" ) ;
将该 

ZoneId

 对象应用于 
Instant
 对象以实例化 
ZonedDateTime
 对象。

ZonedDateTime zdtTokyo = instant.atZone( zTokyo ) ;
现在提取日期部分。

LocalDate ld = zdtTokyo.toLocalDate() ;
    
© www.soinside.com 2019 - 2024. All rights reserved.