我的要求是在日期过去时获取一周的开始和结束日期。我已经搜索过并找到了大量答案,但对最好使用哪个答案感到困惑。在其中一个线程中,我找到了以下代码:
Calendar c = Calendar.getInstance();
c.setTime(new Date("8/16/2017"));
int dayOfWeek = c.get(Calendar.DAY_OF_WEEK);
System.out.println("day :" + dayOfWeek);
c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek());
System.out.println("start of week day :" + c.getTime());
Run Code Online (Sandbox Code Playgroud)
输出:
day :4
start of week day :Sun Aug 13 00:00:00 EDT 2017
Run Code Online (Sandbox Code Playgroud)
我在上面的代码输出中看到了一个错误。一周的开始应该是 8 月 14 日星期一,但它显示的是 8 月 13 日星期日。当日期作为字符串动态传递时,获取一周的开始日期和结束日期的任何建议。
--已编辑--我正在寻找java 代码,该代码返回传递日期的一周的第一天和最后一天的日期。
import java.time.LocalDate;
import static java.time.DayOfWeek.MONDAY;
import static java.time.DayOfWeek.SUNDAY;
import static java.time.temporal.TemporalAdjusters.nextOrSame;
import static java.time.temporal.TemporalAdjusters.previousOrSame;
public class FirstAndLast
{
public static void main(String[] args)
{
LocalDate today = LocalDate.now();
LocalDate monday = today.with(previousOrSame(MONDAY));
LocalDate sunday = today.with(nextOrSame(SUNDAY));
System.out.println("Today: " + today);
System.out.println("Monday of the Week: " + monday);
System.out.println("Sunday of the Week: " + sunday);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3501 次 |
| 最近记录: |