What is the best way to retrieve the dates for last Monday and Friday

前端 未结 4 1843
南方客
南方客 2020-12-31 10:23

I need to get the dates for Monday and Friday last week. To do this, i am getting the date of Monday this week and subtracting 7 days. This gives me the date for Monday last

4条回答
  •  旧时难觅i
    2020-12-31 11:19

    Note: For Java 8 and above please take a look at Basil Bourque's answer (link).
    Java 8 introduced a new time/date API which offers most of Joda-Time's functionality.


    Joda-Time offers really nice methods for problems like that.

    Getting the dates for Monday and Friday last week would look something like this using Joda Time:

    DateTime today = DateTime.now();
    DateTime sameDayLastWeek = today.minusWeeks(1);
    DateTime mondayLastWeek = sameDayLastWeek.withDayOfWeek(DateTimeConstants.MONDAY);
    DateTime fridayLastWeek = sameDayLastWeek.withDayOfWeek(DateTimeConstants.FRIDAY);
    

    You can create DateTime objects from java.util.Date objects and vice versa so it is easy to use with Java dates.


    Using the above code with the date

    DateTime today = new DateTime("2012-09-30");
    

    results in "2012-09-17" for Monday and "2012-09-21" for Friday, setting the date to

    DateTime tomorrow = new DateTime("2012-10-01");
    

    results in "2012-09-24" for Monday and "2012-09-28" for Friday.

提交回复
热议问题