簡體   English   中英

從Calendar week到java.time.ZonedDateTime

[英]from Calendar week to java.time.ZonedDateTime

使用java.time.ZonedDateTime ,您可以獲取日歷周(例如第1周)。

import java.time.ZonedDateTime;

int getCalendarWeek(ZonedDateTime zonedDateTime){
   int week = zonedDateTime.get ( IsoFields.WEEK_OF_WEEK_BASED_YEAR );
   return week;
}

給定年份和日歷周(例如:2019年和第20周),如何返回java.time.ZonedDateTime

日歷周的第一天(星期一)是日期。 不管什么時間。

ZonedDateTime getZonedDateTime(int year, int weekNumber){
// ???
}

您可以在ZonedDateTime中使用with操作來獲取基於特定星期的日期。 WeekFields類允許訪問執行此操作所需的TemporalFields 請參閱下面的示例:

int week = 1;
int year = 2016;
WeekFields weekFields = WeekFields.of(Locale.getDefault());
ZonedDateTime ldt = ZonedDateTime.now()
                        .withYear(year)
                        .with(weekFields.weekOfYear(), week)
                        .with(weekFields.dayOfWeek(), 1);

請注意,這假定了系統默認時區,因此不能解決時區問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM