如果我有一天的具体日期,如何获得上一周的那一天的日期? [英] If I have a specific date of a day, how do I get the date of that day in the previous week?

查看:123
本文介绍了如果我有一天的具体日期,如何获得上一周的那一天的日期?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述






例如,如果我有一个日期,那么请参阅@Basil Bourque 变量date1,值为(dd / mm / yyy)03/07/2011,这是星期天。如何获取上一个星期日date2的日期?这将有价值(dd / mm / yyyy)26/06/2011。



有没有一个简单的方法,例如:



伪代码:

 日期date1 =(03/07/2011); 
日期date2 = date1.subtractNumberOfDays(7);


解决方案

java.time



问题和答案使用旧的过时的日期时间类。而是使用java.time类。



LocalDate



LocalDate 类表示只有日期的值,没有时间和时区。

  LocalDate localDate = LocalDate.of(2011,Month.JULY,3); 

或者,将第二个参数中的整数传递给 Month 枚举。



上周



您可以从日期减去一周。

  LocalDate weekPrior = localDate.minusWeeks(1); 



上一个星期之前



如果您想要一周中的特定日期,请使用 TemporalAdjuster



TemporalAdjusters 课程(注意复数的'')。

  LocalDate beforeTuesday = localDate.with(TemporalAdjusters.previous(DayOfWeek.TUESDAY)); 


SEE ANSWER FROM @Basil Bourque for most up to date answer


For example, if I have a "Date" variable "date1" with a value of (dd/mm/yyy) 03/07/2011, which is a Sunday. How do I get the "Date" of the previous Sunday "date2"? which would have the value (dd/mm/yyyy) 26/06/2011.

Is there an easy way of doing it, for example:

pseudo code:

Date date1 = (03/07/2011);
Date date2 = date1.subtractNumberOfDays(7);

解决方案

java.time

The Question and Answers use old outmoded date-time classes. Instead use the java.time classes.

LocalDate

The LocalDate class represents a date-only value without time-of-day and without time zone.

LocalDate localDate = LocalDate.of( 2011 , Month.JULY , 3 ); 

Alternatively, pass an integer in second argument instead of the Month enum. Pass 1-12 for January-December.

Previous week

You can subtract a week from the date.

LocalDate weekPrior = localDate.minusWeeks( 1 );

Previous day-of-week

If you want a specific day of the week, use a TemporalAdjuster.

Several such handy implementations provided in the TemporalAdjusters class (note the plural 's').

LocalDate priorTuesday = localDate.with( TemporalAdjusters.previous( DayOfWeek.TUESDAY ) ) ;

这篇关于如果我有一天的具体日期,如何获得上一周的那一天的日期?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆