在java中获取一周的第一个日期

Sur*_*aja 7 java datetime calendar date simpledateformat

我想获取一周的第一个日期.

我的输入将是像2014年7月26日的字符串类型".

我需要获得上述日期(2014年7月26日)的第一周日期.

我需要MM/dd/YYYY格式的输出日期.

基本上我需要输出为07/21/2014.

请给我java程序.我已经做到了这一点

SimpleDateFormat formatter1 = new SimpleDateFormat("MM/dd/yy");
String date ="07/26/2014";
    Date Currentdate = formatter1.parse(date);
    int currentday=Currentdate.getDay();


        Calendar calendar = Calendar.getInstance();
        calendar.setTime(Currentdate);
        int startDay=currentday-calendar.getFirstDayOfWeek();
        Currentdate.setDate(contacteddate.getDate()-startDay);
        System.out.println(contacteddate.getDate());
    }
Run Code Online (Sandbox Code Playgroud)

上面的代码只给我一个日期..我需要在"MM/dd/YYYY"中的日期和月份和年份请帮助

Evg*_*eev 5

我会这样做的

    Calendar calendar = Calendar.getInstance();
    calendar.setTime(Currentdate);
    calendar.set(Calendar.DAY_OF_WEEK, calendar.getFirstDayOfWeek());
Run Code Online (Sandbox Code Playgroud)

  • 请注意,这取决于*根据给定语言环境的第一天*.对于美国人来说,"07/26/2014"的答案将是20日而不是21日.只是需要考虑的事情. (4认同)

Jig*_*shi 4

设定时间后Calendar

Calendar calendar = Calendar.getInstance();
calendar.setTime(Currentdate);
Run Code Online (Sandbox Code Playgroud)

使用

calendar.set(Calendar.DAY_OF_WEEK, 1)
Run Code Online (Sandbox Code Playgroud)

进而

simpleFormat.format(calendar.getTime());
Run Code Online (Sandbox Code Playgroud)