java – 如何将一个月添加到日期并获得同一天
发布时间:2020-05-22 11:54:19 所属栏目:Java 来源:互联网
导读:我尝试根据工作日添加一个月的日期.例如,日期是9月的星期一.添加后我想要有10月的星期一. 我试着在下一个日期添加一个月 Mon Sep 17 17:30:00 MESZ 2012 使用此代码: Calendar date = Calendar.getInstance();date.setTimeInMillis(date_in_mil);date.add(Ca
我尝试根据工作日添加一个月的日期.例如,日期是9月的星期一.添加后我想要有10月的星期一.
Mon Sep 17 17:30:00 MESZ 2012 使用此代码: Calendar date = Calendar.getInstance(); date.setTimeInMillis(date_in_mil); date.add(Calendar.DAY_OF_WEEK_IN_MONTH,3); 但是我得到了 Mon Oct 08 17:30:00 MESZ 2012 这是10月的第二个星期一,而不是第三个星期一.有谁知道这是如何工作的? 编辑 int prevDayOfWeek = date.get(Calendar.DAY_OF_WEEK); date.add(Calendar.MONTH,1); date.set(Calendar.DAY_OF_WEEK,prevDayOfWeek); date.set(Calendar.DAY_OF_WEEK_IN_MONTH,week); 星期是一个星期的星期数.前例1表示第一个,第二个表示第二个,依此类推.但是周也可以倒计时,例如-1表示一个月的最后一周. 解决方法如果你想获得月份的第3个星期一,那么请使用设置而不是添加 date.set(Calendar.DAY_OF_WEEK_IN_MONTH,3); 如果您想在当前日期添加一个月,请使用 编辑 final Calendar date = Calendar.getInstance(); date.set(2012,Calendar.SEPTEMBER,17); int prevDayOfWeekInMonth = date.get(Calendar.DAY_OF_WEEK_IN_MONTH); int prevDayOfWeek = date.get(Calendar.DAY_OF_WEEK); date.add(Calendar.MONTH,prevDayOfWeekInMonth); (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |