Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java日期对象-如何增加星期几_Java_Date - Fatal编程技术网

java日期对象-如何增加星期几

java日期对象-如何增加星期几,java,date,Java,Date,我目前正试图安排一个方法每周在用户选择的某一天执行一次。我知道我可以通过以下方式获得当前日期: Date date = new Date(); 设置要执行的TimerTask时,我需要根据用户选择的星期几将日期增加1-6天。我在文档中没有看到setDay()方法,我想知道解析day out、更改它并添加回date对象是否是唯一的方法。似乎还有更简单的事情要做。你需要使用日历 Calendar类是日期对象的抽象封装 Calendar为日期字段提供getter和setter。 更新为按要求增加一

我目前正试图安排一个方法每周在用户选择的某一天执行一次。我知道我可以通过以下方式获得当前日期:

Date date = new Date();

设置要执行的TimerTask时,我需要根据用户选择的星期几将日期增加1-6天。我在文档中没有看到setDay()方法,我想知道解析day out、更改它并添加回date对象是否是唯一的方法。似乎还有更简单的事情要做。

你需要使用日历

Calendar类是日期对象的抽象封装

Calendar为日期字段提供getter和setter。
更新为按要求增加一周中的一天的示例:

        Date date = new Date();
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.set(Calendar.DAY_OF_WEEK,(calendar.get(Calendar.DAY_OF_WEEK)+1));
        //alternative:
        //calendar.add(Calendar.DAY_OF_WEEK, 1); 
        Date newDate = calendar.getTime();

更新:注意使用

日历和日期尚未弃用,您仍然可以混合和匹配


但是,如果您想正确处理时区,或者想进行更多的本地化(什么时候不这样做?),那么最好使用java.time。

您需要使用日历

Calendar类是日期对象的抽象封装

Calendar为日期字段提供getter和setter。
更新为按要求增加一周中的一天的示例:

        Date date = new Date();
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.set(Calendar.DAY_OF_WEEK,(calendar.get(Calendar.DAY_OF_WEEK)+1));
        //alternative:
        //calendar.add(Calendar.DAY_OF_WEEK, 1); 
        Date newDate = calendar.getTime();

更新:注意使用

日历和日期尚未弃用,您仍然可以混合和匹配


但是,如果您想正确处理时区,或者想进行更多的本地化(什么时候不这样做?),那么您最好使用java.time。

您可能想使用
日历


使用
Calendar
对象,您可以简单地使用
Calendar.add(Calendar.DAY\u OF u WEEK,1)
要添加一天

您可能需要使用
日历


使用
Calendar
对象,您可以简单地使用
Calendar.add(Calendar.DAY\u OF u WEEK,1)
要添加一天

使用
日历
类将很容易

    Calendar cal = Calendar.getInstance();
    cal.add(Calendar.DATE, 1); // this will add number of days to current
                                // date
    Date date = cal.getTime(); // it will return the date object
    System.out.println(date);

使用
日历
类将很容易

    Calendar cal = Calendar.getInstance();
    cal.add(Calendar.DATE, 1); // this will add number of days to current
                                // date
    Date date = cal.getTime(); // it will return the date object
    System.out.println(date);
这应该能奏效

这应该可以解决问题。

您可能正在寻找

请记住,它已被弃用,文档建议使用
Calendar.set(Calendar.DAY\u OF\u MONTH,int date)
您可能正在寻找的


请记住,它已被弃用,文档建议使用
Calendar.set(Calendar.DAY\u OF\u MONTH,int date)

您可以发布一个从日历对象获取日期并增加星期几的示例吗?需要作为日期对象结束,以便我可以使用计时器。计划(…,…)我用一个增加一周中某一天的示例更新了答案。当使用calendar.set(calendar.day\u of_week,2)时,它会将日历日期设置为上一个星期一,而我需要它始终是一周中的下一天。对此有什么想法吗?首先,请使用常量,即calendar.set(calendar.DAY\u of_WEEK,calendar.MONDAY)。将一周中的一天测试到一个范围(calendar.get(calendar.day\u of_week)>=calendar.MONDAY)会更容易,这是使用API的正确方法。接下来,请详细说明您在使用日期和预期结果方面存在的问题。仅供参考,非常麻烦的日期时间类,例如,和
java.text.simpleDataFormat
,现在已被java 8及更高版本中内置的类所取代。请参阅。您可以发布一个从日历对象获取日期并增加星期几的示例吗?需要作为日期对象结束,以便我可以使用计时器。计划(…,…)我用一个增加一周中某一天的示例更新了答案。当使用calendar.set(calendar.day\u of_week,2)时,它会将日历日期设置为上一个星期一,而我需要它始终是一周中的下一天。对此有什么想法吗?首先,请使用常量,即calendar.set(calendar.DAY\u of_WEEK,calendar.MONDAY)。将一周中的一天测试到一个范围(calendar.get(calendar.day\u of_week)>=calendar.MONDAY)会更容易,这是使用API的正确方法。接下来,请详细说明您在使用日期和预期结果方面存在的问题。仅供参考,非常麻烦的日期时间类,例如,和
java.text.simpleDataFormat
,现在已被java 8及更高版本中内置的类所取代。请参阅。
getCalendar
未定义。此外,它应该是
calendar.add(calendar.DAY/u周,1)
,而不是
calendar.add(calendar.DATE,1)
,不保留周末。
getCalendar
未定义。此外,它应该是
calendar.add(calendar.DAY\u OF_WEEK,1)
,而不是
calendar.add(calendar.DATE,1)
,为了不保留weekends.FYI,像、
java.text.SimpleDataFormat
这样非常麻烦的日期时间类现在被java 8和更高版本中内置的类所取代。请参见.FYI,像和
java.text.simpleDataFormat
这样非常麻烦的日期-时间类现在被内置在Java8和更高版本中的类所取代。看见