过去两天我一直在这个问题上停滞不前。我的问题是:我如何显示从一周到另一周(周四到周四)的日期?例如:Android显示从一周到另一周的日期(星期四至星期四)
1/30/2014 to 2/6/2014
或
30 jan 2014 to 6 feb 2014
当周完成那么它的改变一样:
2014年2月6日至2014年2月13日
或
2014年2月6日至2014年2月13日13日
任何帮助或示例代码将不胜感激。
过去两天我一直在这个问题上停滞不前。我的问题是:我如何显示从一周到另一周(周四到周四)的日期?例如:Android显示从一周到另一周的日期(星期四至星期四)
1/30/2014 to 2/6/2014
或
30 jan 2014 to 6 feb 2014
当周完成那么它的改变一样:
2014年2月6日至2014年2月13日
或
2014年2月6日至2014年2月13日13日
任何帮助或示例代码将不胜感激。
最后我得到了工作一个解决方案,解决我的问题:
在OnCreate中:
TextView tv_chart_menuvotes = (TextView) findViewById(R.id.tv_chart_menuvotes);
String csPrevThur = getPreviousThursday();
String csNextThur = getNextThursday();
tv_chart_menuvotes.setText("Vote from " + csPrevThur + " To "+ csNextThur);
的OnCreate中之外:
public String getPreviousThursday() {
String csDate = "";
int perSut = 0;
Calendar calendar = Calendar.getInstance();
int day = calendar.get(Calendar.DAY_OF_WEEK);
switch (day) {
case Calendar.SUNDAY:
perSut = -3;
break;
case Calendar.MONDAY:
perSut = -4;
break;
case Calendar.TUESDAY:
perSut = -5;
break;
case Calendar.WEDNESDAY:
perSut = -6;
break;
case Calendar.THURSDAY:
perSut = 0;
break;
case Calendar.FRIDAY:
perSut = -1;
break;
case Calendar.SATURDAY:
perSut = -2;
break;
}
SimpleDateFormat mDF = new SimpleDateFormat("dd-MM-yyyy");
calendar.add(Calendar.DAY_OF_MONTH, perSut);
csDate = mDF.format(calendar.getTime());
System.out.println("Prev Thursday >> " + csDate);
return csDate;
}
public String getNextThursday() {
String csDate = "";
int perSut = 0;
Calendar calendar = Calendar.getInstance();
int day = calendar.get(Calendar.DAY_OF_WEEK);
switch (day) {
case Calendar.SUNDAY:
perSut = 4;
break;
case Calendar.MONDAY:
perSut = 3;
break;
case Calendar.TUESDAY:
perSut = 2;
break;
case Calendar.WEDNESDAY:
perSut = 1;
break;
case Calendar.THURSDAY:
perSut = 7;
break;
case Calendar.FRIDAY:
perSut = 6;
break;
case Calendar.SATURDAY:
perSut = 5;
break;
}
SimpleDateFormat mDF = new SimpleDateFormat("dd-MM-yyyy");
calendar.add(Calendar.DAY_OF_MONTH, perSut);
csDate = mDF.format(calendar.getTime());
System.out.println("NextThursday >> " + csDate);
return csDate;
}
对你而言,setMaxDate()
是你的朋友。该文件说:
设置自1970年1月1日00:00:00在getDefault()时区这个DatePicker的以毫秒为单位 支持的最大日期。
因此,得到下周的时间为long
并使用该方法。
试试这个,
String start_date = "01-30-2014"; // Start date
SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
Calendar cal = Calendar.getInstance();
try {
c.setTime(sdf.parse(start_date));
} catch (ParseException e) {
e.printStackTrace();
}
cal.add(Calendar.DATE, 7); // number of days to add,in your case its 7
SimpleDateFormat sdf1 = new SimpleDateFormat("dd-MM-yyyy");
String to_date = sdf1.format(cal.getTime());
其实我不喜欢Android的Google日历(我喜欢Joda-Time),但上述方案应该为你
对不起,这是怎么涉及到'Android'? =) –
我正在谈论代码中使用的日历实例,日历API非常混乱。 – dd619
那么,你可以写下你的答案来补充我的,通过显示OP如何让下周的时间为'长'=) –
不错,它解决了我的问题,谢谢。 –