获取 Android 中给定周数的日期
Get dates for a given week number in Android
我想获取给定周数的日期。例如,如果我的周数为 15,我需要获取日期:05-04-2015、06-04-2015、07-04-2015、08-04-2015、09-04 -2015 年、2015 年 4 月 10 日、2015 年 4 月 11 日。
这可能吗?如果是这样,如何?
告诉我,
谢谢!
public static void main(String[] args) {
// set the date
Calendar cal = Calendar.getInstance();
cal.set(2011, 10 - 1, 12);
// "calculate" the start date of the week
Calendar first = (Calendar) cal.clone();
first.add(Calendar.DAY_OF_WEEK,
first.getFirstDayOfWeek() - first.get(Calendar.DAY_OF_WEEK));
// and add six days to the end date
Calendar last = (Calendar) first.clone();
last.add(Calendar.DAY_OF_YEAR, 6);
// print the result
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(df.format(first.getTime()) + " -> " +
df.format(last.getTime()));
}
int yourYear = 1997;
Calendar c1 = Calendar.getInstance();
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
c1.set(yourYear, 1, 1);
c1.add(Calendar.DATE, WEEK*7);
for (int i = 0, i < 7; i++){
String formatted = format1.format(cal.getTime());
System.out.println(formatted);
c1.add(Calendar.DATE, 1);
}
这是我的解决方案:
Calendar c = new GregorianCalendar(Locale.getDefault());
c.set(Calendar.WEEK_OF_YEAR, 15);
c.set(Calendar.YEAR, 2015);
String result = "";
int firstDayOfWeek = c.getFirstDayOfWeek();
for (int i = firstDayOfWeek; i < firstDayOfWeek + 7; i++) {
c.set(Calendar.DAY_OF_WEEK, i);
result += new SimpleDateFormat("yyyy.MM.dd").format(c.getTime()) + "\n";
}
作为输入,除了星期,你需要有一年。
请注意一周的第一天取决于 Locale。
我想获取给定周数的日期。例如,如果我的周数为 15,我需要获取日期:05-04-2015、06-04-2015、07-04-2015、08-04-2015、09-04 -2015 年、2015 年 4 月 10 日、2015 年 4 月 11 日。
这可能吗?如果是这样,如何?
告诉我,
谢谢!
public static void main(String[] args) {
// set the date
Calendar cal = Calendar.getInstance();
cal.set(2011, 10 - 1, 12);
// "calculate" the start date of the week
Calendar first = (Calendar) cal.clone();
first.add(Calendar.DAY_OF_WEEK,
first.getFirstDayOfWeek() - first.get(Calendar.DAY_OF_WEEK));
// and add six days to the end date
Calendar last = (Calendar) first.clone();
last.add(Calendar.DAY_OF_YEAR, 6);
// print the result
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(df.format(first.getTime()) + " -> " +
df.format(last.getTime()));
}
int yourYear = 1997;
Calendar c1 = Calendar.getInstance();
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
c1.set(yourYear, 1, 1);
c1.add(Calendar.DATE, WEEK*7);
for (int i = 0, i < 7; i++){
String formatted = format1.format(cal.getTime());
System.out.println(formatted);
c1.add(Calendar.DATE, 1);
}
这是我的解决方案:
Calendar c = new GregorianCalendar(Locale.getDefault());
c.set(Calendar.WEEK_OF_YEAR, 15);
c.set(Calendar.YEAR, 2015);
String result = "";
int firstDayOfWeek = c.getFirstDayOfWeek();
for (int i = firstDayOfWeek; i < firstDayOfWeek + 7; i++) {
c.set(Calendar.DAY_OF_WEEK, i);
result += new SimpleDateFormat("yyyy.MM.dd").format(c.getTime()) + "\n";
}
作为输入,除了星期,你需要有一年。 请注意一周的第一天取决于 Locale。