Android 安卓获得即将到来的星期天的日期
我使用下面的代码来获取即将到来的星期天的日期。代码在某些设备中工作,但在某些设备中,它会在周日之后的周日显示。请帮忙。为什么它在某些设备中不起作用Android 安卓获得即将到来的星期天的日期,android,date,Android,Date,我使用下面的代码来获取即将到来的星期天的日期。代码在某些设备中工作,但在某些设备中,它会在周日之后的周日显示。请帮忙。为什么它在某些设备中不起作用 try { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); Calendar c=Calendar.getInstance(); c.set(Calendar.DAY_OF_WEEK,Calen
try {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Calendar c=Calendar.getInstance();
c.set(Calendar.DAY_OF_WEEK,Calendar.SUNDAY);
c.set(Calendar.HOUR_OF_DAY,0);
c.set(Calendar.MINUTE,0);
c.set(Calendar.SECOND,0);
c.add(Calendar.DATE,7);
Date currentTime = c.getTime();
date = dateFormat.format(currentTime);
} catch (Exception e) {
e.printStackTrace();
}
可能是时区的问题吗?
试试这个:
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("some time zone"));
这可能适用于您具有相同时区的设备提供不同的日期对于2017年3月6日星期一这样的日期,您希望下一个星期日是12日还是19日?下一个星期日是12日,这取决于您认为本周从哪一天开始。如果在上面的示例中,一周从周一开始,那么将
一周中的第几天设置为周日将设置为第12天,然后再加上7天将得到第19天。
private static Calendar getNextSundayDate() {
Calendar calendarForNextSunday = Calendar.getInstance();
int today = calendarForNextSunday.get(Calendar.DAY_OF_WEEK);
//System.out.println("today" + today);
if (today != Calendar.SUNDAY) {
int offset = Calendar.SATURDAY - today + Calendar.SUNDAY;
//System.out.println("offset" + offset);
calendarForNextSunday.add(Calendar.DATE, offset);
//System.out.println("new" + calendarForNextSunday.get(Calendar.DAY_OF_WEEK));
//System.out.println("next sunday" + calendarForNextSunday.get(Calendar.DATE));
}
return calendarForNextSunday;
}