gpt4 book ai didi

java-time - java.time 中的年-周-日?

转载 作者:行者123 更新时间:2023-12-04 16:47:01 24 4
gpt4 key购买 nike

java.time 是否支持类,或其扩展 ThreeTen-Extra , 对于 week dates ,特别是 Year-Week-Day,例如 2009-W53-7,即 2010 年 1 月 3 日,星期日

至于没有星期几的年-星期:

但是如何表示星期几呢?

最佳答案

参见 IsoFields类,它允许查询基于周的年份和基于周的年份的周。还有一个专用的格式化程序 ISO_WEEK_DATE .

DayOfWeek enum 告诉你星期几,1-7 代表周一到周日。调用LocalDate::getDayOfWeek然后 DayOfWeek::getValue .

LocalDate ld = LocalDate.now( ZoneId.of( "America/Montreal" ) ) ;

2016-12-07

int weekOfWeekBasedYear = ld.get( IsoFields.WEEK_OF_WEEK_BASED_YEAR ) ;
int yearOfWeekBasedYear = ld.get( IsoFields.WEEK_BASED_YEAR ) ;
int dayOfWeek = ld.getDayOfWeek().getValue();

使用这些部分在标准 ISO 8601 week date formats 中构建字符串.

String yearWeek = yearOfWeekBasedYear + "-W" + String.format( "%02d", weekOfWeekBasedYear ) ; 

2016-W49

String yearWeekDay = yearWeek + "-" + dayOfWeek ;

2016-W49-3

或者,让预定义的DateTimeFormatter.ISO_WEEK_DATE做工作。

String ywd = ld.format( DateTimeFormatter.ISO_WEEK_DATE );

2016-W49-3

同一个格式化程序可以解析此类标准字符串。

String input = "2016-W49-3" ;
LocalDate ldParsed = LocalDate.parse( input , DateTimeFormatter.ISO_WEEK_DATE ) ;

2016-12-07

关于java-time - java.time 中的年-周-日?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39583389/

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