用java得到接下来14天的每一天分别为周几,因为项目要做一个时间选择的控件,所有要得到接下来14天分别为周几,没有找到合适的方法
java里面没有date相关的函数吗?
public static void main(String[] args) {
List<String> nextDays = getNextDays(14);
for (String string : nextDays) {
System.out.println(string);
}
}
private static List<String> getNextDays(int days) {
String zhou = "日一二三四五六";
Calendar instance = Calendar.getInstance();
instance.setTime(new Date());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
List<String> zhous = new ArrayList<>();
for (int i =0;i<days;i++) {
instance.add(Calendar.DATE, 1);
int ind = instance.get(Calendar.DAY_OF_WEEK);
zhous.add(sdf.format(instance.getTime())+" 星期"+zhou.substring(ind-1,ind));
}
return zhous;
}
使用Joda-Time
List<String> dateRangeList = IntStream.range(0, 14).mapToObj(i -> {
return (new DateTime()).plusDays(i).toString("yyyy-MM-dd E");
}).collect(Collectors.toList());
最后List输出结果
2016-04-18 星期一
2016-04-19 星期二
2016-04-20 星期三
2016-04-21 星期四
2016-04-22 星期五
2016-04-23 星期六
2016-04-24 星期日
2016-04-25 星期一
2016-04-26 星期二
2016-04-27 星期三
2016-04-28 星期四
2016-04-29 星期五
2016-04-30 星期六
2016-05-01 星期日
我的java学的不好,你这个太方便了