gpt4 book ai didi

java - Momentjs calendar() 相当于 Java

转载 作者:行者123 更新时间:2023-12-01 14:17:44 24 4
gpt4 key购买 nike

Momentjs 具有 calendar() 函数来漂亮地打印时间跨度,如下所示。

例如:

"Last Monday at 1:14 PM"

"09/21/2017" (if the date is a while ago)

Java 中是否有等效的函数(如果可能的话是 Joda-Time)?

moment().subtract(10, 'days').calendar(); // 09/21/2017
moment().subtract(6, 'days').calendar(); // Last Monday at 1:14 PM
moment().subtract(3, 'days').calendar(); // Last Thursday at 1:14 PM
moment().subtract(1, 'days').calendar(); // Yesterday at 1:14 PM
moment().calendar(); // Today at 1:14 PM
moment().add(1, 'days').calendar(); // Tomorrow at 1:14 PM
moment().add(3, 'days').calendar(); // Wednesday at 1:14 PM
moment().add(10, 'days').calendar(); // 10/11/2017

最佳答案

java.time

现代方法使用行业领先的 java.time 类。

ZoneId z = ZoneId.now( “America/Montreal”  ) ;
LocalDate today = LocalDate.now( z ) ;

使用加法和减法进行数学计算。

LocalDate tomorrow = today.plusDays( 1 ) ;

搜索堆栈溢出。几乎每个基本的日期时间问题都已被问及答案。

字符串

java.time 类不会生成诸如“tomorrow”和“Last Monday”之类的字符串。因此,没有直接等效于您引用的库。你将不得不自己做农活。

搜索 DateTimeFormatter类,以及 DateTimeFormatterBuilder类。

另外,DayOfWeek枚举及其自动本地化 getDisplayName方法可能有用。

漂亮的时间

prettytime图书馆可能会帮助你,虽然我没有使用它。

Joda Time

Joda-Time 项目处于维护模式。该团队建议迁移到 java.time 类。


关于java.time

java.time框架内置于 Java 8 及更高版本中。这些类取代了麻烦的旧类 legacy日期时间类,例如 java.util.Date , Calendar , & SimpleDateFormat .

Joda-Time项目,现在在maintenance mode , 建议迁移到 java.time类。

要了解更多信息,请参阅 Oracle Tutorial .并在 Stack Overflow 中搜索许多示例和解释。规范为 JSR 310 .

从哪里获得 java.time 类?

ThreeTen-Extra项目用附加类扩展 java.time。该项目是 future 可能添加到 java.time 的试验场。您可能会在这里找到一些有用的类,例如 Interval , YearWeek , YearQuarter , 和 more .

关于java - Momentjs calendar() 相当于 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46509773/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com