获取从给定日期星期一到星期五的星期日期
问题描述:
我想从给定日期星期一到星期五获得星期日期。获取从给定日期星期一到星期五的星期日期
假设给定的日期是2013年6月2日
我想要的结果:
Monday 4-2-2013
Tuesday 5-2-2013
Wednesday 6-2-2013
Thursday 7-2-2013
Friday 8-2-2013
或即使我有没有周为6 ...我怎么能实现关于结果
我从下面的代码
Calendar c = Calendar.getInstance();
c.set(Calendar.DAY_OF_MONTH, 6);
c.set(Calendar.MONTH, 1);
c.set(Calendar.YEAR, 2013);
int weekNo = c.get(Calendar.WEEK_OF_YEAR);
答
从2013年6月2日:
GregorianCalendar c = new GregorianCalendar(2013, 1, 6);
c.add(Calendar.DAY_OF_YEAR, Calendar.MONDAY - c.get(Calendar.DAY_OF_WEEK));
DateFormat df = new SimpleDateFormat("d-M-yyyy");
while(c.get(Calendar.DAY_OF_WEEK) != Calendar.SATURDAY) {
if (c.get(Calendar.YEAR) == 2013) {
System.out.printf("%-10tA%10s%n", c.getTime(), df.format(c.getTime()));
}
c.add(Calendar.DAY_OF_YEAR, 1);
}
prints
Monday 4-2-2013
Tuesday 5-2-2013
Wednesday 6-2-2013
Thursday 7-2-2013
Friday 8-2-2013
from week 6 of 2013:
GregorianCalendar c = new GregorianCalendar(2013, 0, 1);
c.add(Calendar.WEEK_OF_YEAR, 6 - 1);
c.add(Calendar.DAY_OF_YEAR, Calendar.MONDAY - c.get(Calendar.DAY_OF_WEEK));
DateFormat df = new SimpleDateFormat("d-M-yyyy");
while(c.get(Calendar.DAY_OF_WEEK) != Calendar.SATURDAY) {
if (c.get(Calendar.YEAR) == 2013) {
System.out.printf("%-10tA%10s%n", c.getTime(), df.format(c.getTime()));
}
c.add(Calendar.DAY_OF_YEAR, 1);
}
打印
Monday 4-2-2013
Tuesday 5-2-2013
Wednesday 6-2-2013
Thursday 7-2-2013
Friday 8-2-2013
答
public static void main(String[] args) {
getWeekOfDates(2013, 2, 11);
}
private static void getWeekOfDates(int year, int month, int day) {
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, year);
c.set(Calendar.MONTH, month);
int weekOfMonth = c.get(Calendar.WEEK_OF_MONTH);
c.set(Calendar.WEEK_OF_MONTH, weekOfMonth);
DateFormat df = new SimpleDateFormat("EEE dd-MM-yyyy");
for (int i = 0; i < 5; i++) {
System.out.println(df.format(c.getTime()));
c.add(Calendar.DATE, 1);
}
}
拿到周无
试试这个:我按你的要求编辑。
输出:
Mon 11-03-2013
Tue 12-03-2013
Wed 13-03-2013
Thu 14-03-2013
Fri 15-03-2013
答
试试这个...我已经编辑和添加更多的变化Achintya杰哈代码... Works Fine 感谢Achintya Jha
Calendar c = Calendar.getInstance();
c.set(Calendar.DAY_OF_MONTH, 14);
c.set(Calendar.MONTH, 1);
c.set(Calendar.YEAR, 2013);
int weekNo = c.get(Calendar.WEEK_OF_YEAR);
//Set the Week No
c.set(Calendar.WEEK_OF_YEAR, weekNo);
c.clear();
//Set the Week Year and the Week No
c.set(Calendar.WEEK_OF_YEAR, weekNo);
c.set(Calendar.YEAR, 2013);
SimpleDateFormat formatter = new SimpleDateFormat("EEE dd/MM/yyyy"); // PST`
//Get Week Start Date
Date startDate = c.getTime();
//Now it will be sunday so add plus one so now it becomes Monday
c.add(Calendar.DATE, 1);
for (int i = 0; i < 5; i++) {
//From Monday to Friday Dates will be Printed
System.out.println(formatter.format(c.getTime()));
c.add(Calendar.DATE, 1);
}
检查http://stackoverflow.com/q/8652514/1777090。这可能会有所帮助 – 2013-02-11 09:15:23