java 获得本周一到周五的日期

比如说现在 怎么获得 2013-4-8 到2013-4-12

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Calendar;
public class WorkDay {
public static void main(String[] args) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd E");
for (Date date : getWeekDay()) {
System.out.println(dateFormat.format(date));
}
}
public static Date[] getWeekDay() {
Calendar calendar = Calendar.getInstance();
while (calendar.get(Calendar.DAY_OF_WEEK) != Calendar.MONDAY) {
calendar.add(Calendar.DAY_OF_WEEK, -1);
}
Date[] dates = new Date[5];
for (int i = 0; i < 5; i++) {
dates[i] = calendar.getTime();
calendar.add(Calendar.DATE, 1);
}
return dates;
}
}


如果每周指的是从星期一开始,那么这个程序可以达到你的要求。


如果每周指得是从星期日开始,那么请说明,我再修改。

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-04-09
package com.test;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class Test {
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
//cal.set(2002, 2, 28);// 2002-03-28 星期四
System.out.println("今天是:" + cal.get(Calendar.YEAR)
+ (cal.get(Calendar.MONTH) + 1)//Month 值是基于 0 的。例如,0 表示 January
+ cal.get(Calendar.DAY_OF_MONTH));
System.out.println("星期" + getBigWeek(cal.get(Calendar.DAY_OF_WEEK)));
int flag = cal.get(Calendar.DAY_OF_WEEK);
cal.add(Calendar.DATE, 1-flag);
/////////////////////
System.out.println("本周从");
System.out.println("" + cal.get(Calendar.YEAR)
+ (cal.get(Calendar.MONTH) + 1)//Month 值是基于 0 的。例如,0 表示 January
+ cal.get(Calendar.DAY_OF_MONTH));
System.out.println("星期" + getBigWeek(cal.get(Calendar.DAY_OF_WEEK)));
/////////////////////////
System.out.println("到");
cal.add(Calendar.DATE, 6);
///////////////////////
System.out.println("" + cal.get(Calendar.YEAR)
+ (cal.get(Calendar.MONTH) + 1)//Month 值是基于 0 的。例如,0 表示 January
+ cal.get(Calendar.DAY_OF_MONTH));
System.out.println("星期" + getBigWeek(cal.get(Calendar.DAY_OF_WEEK)));
}
public static String getBigWeek(int dayofweek) {
//Calendar中1-星期天,2-星期一,3-星期二,4-星期三,5-星期四,6-星期五,7-星期六
String[] wee = { "", "天", "一", "二", "三", "四", "五", "六" };
return wee[dayofweek];
}
}

第2个回答  2018-01-17

不要这么麻烦好么,都闪开,我来

import java.time.DayOfWeek;
import java.time.LocalDate;

LocalDate today = LocalDate.now();
LocalDate toweekMonday = today.with(DayOfWeek.MONDAY);

就这么简单

本回答被网友采纳
第3个回答  2013-04-09
public static void main(String[] args) {
Calendar cal=new GregorianCalendar();
cal.setFirstDayOfWeek(Calendar.MONDAY);
cal.setTime(new Date());
cal.set(Calendar.DAY_OF_WEEK, cal.getFirstDayOfWeek());
Date first=cal.getTime();
cal.set(Calendar.DAY_OF_WEEK, cal.getFirstDayOfWeek() + 4);
Date last=cal.getTime();
SimpleDateFormat formater=new SimpleDateFormat("yyyy-MM-dd");
System.out.println("本周周一:"+formater.format(first));
System.out.println("本周周五:"+formater.format(last));
}
第4个回答  2013-04-09
这个是万年历,可以参考一下
import java.util.Scanner;
public class 万年历 {
static Scanner input = new Scanner(System.in);
static int sumYear = 0;
static int sumMonth = 0;
static int inputYear = 0;
static int inputMonth = 0;
static int firstDay = 0;
static int days = 0;
public static void main(String[] args) {
inputDate();
totalyear();
totalmonth();
printCalender();
}
public static void inputDate() {
System.out.println("请输入年份\n");
inputYear = input.nextInt();
System.out.println("请输入月份\n");
inputMonth = input.nextInt();
}
public static void totalyear() {
for (int year = 1900; year < inputYear; year++) {
if (year % 400 == 0 || year % 4 == 0 && year % 100 != 0) {
sumYear = sumYear + 366;
} else {
sumYear = sumYear + 365;
}
}
}
public static void totalmonth()
{
for(int month=1;month<=inputMonth;month++)
{
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days=31;
sumMonth = sumMonth+31;
break;
case 4:
case 6:
case 9:
case 11:
days=30;
sumMonth = sumMonth+30;
break;
case 2:
if(inputYear%400==0||inputYear%4==0&&inputYear%100!=0)
{
days=29;
sumMonth = sumMonth+29;
}
else
{
days=28;
sumMonth = sumMonth+28;
}
break;
}
}

}
public static void printCalender() {
System.out.println(" " + inputYear + "年" + inputMonth + "\n");
System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六\n");
firstDay = (sumYear + sumMonth-days + 1) % 7;
for (int i = 0; i < firstDay; i++) {
System.out.print("\t");
}
for (int i = 1; i <= days; i++) {
System.out.print(i + "\t");
if ((sumYear + sumMonth-days + i) % 7 == 6) {
System.out.println("\n");
}
}
}
}

java中如何计算本周开始和结束的日期
思路:首先是获取该月的实际天数,然后从1号遍历直至该月最后一天,利用Calendar类找出该日是一周中的第几天,(1)若该日是周日,则视为一周结束,并用该日期减去6找到该周的开始日期,若相减结果小于等于1,则说明该周起始日期应该是本月1号。(1)若该日不是周日,且是该月最后一天,则应该在...

java中如何获取日期时间中的星期几?
\/\/根据日期取得星期几 public static String getWeek(Date date){ String[] weeks = {"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};Calendar cal = Calendar.getInstance();cal.setTime(date);int week_index = cal.get(Calendar.DAY_OF_WEEK) - 1;if(week_inde...

java通过本月第几周怎么找本周的其实日期和截止日期?
使用 Calendar.add(int, int) 往前找到周的开始 同样,再往后找到周的结束 事实上,楼主都找到今天是周几了,一加、一减就找到周开始、周结束了。

java如何实现获取一年中所有周的星期一和星期天。(要求1月4号所在的...
代码截图如下:从2021-1-1到2021-12-31日 代码截图 以下是运行结果的部分截图,一直到第52周的周一和周日对应日期。运行结果

java 获取当前日期时间和本周的星期一的日期时间?
format(日历.getTime()));日历.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);System.out.println("周一时间:"+格式.format(日历.getTime()));} === 改到后天测了一下 输出 当前时间:2011年8月31日 星期三 12时32分40秒 周一时间:2011年8月29日 星期一 12时32分40秒 ...

java 获取某一月的所有周的日期段(周一到周日)
2013\/09\/01 : 星期日2013\/09\/02 : 星期一2013\/09\/03 : 星期二2013\/09\/04 : 星期三2013\/09\/05 : 星期四2013\/09\/06 : 星期五2013\/09\/07 : 星期六2013\/09\/08 : 星期日2013\/09\/09 : 星期一2013\/09\/10 : 星期二2013\/09\/11 : 星期三2013\/09\/12 : 星期四2013\/09\/13 : 星期五...

java 如何获取 上周一日期,上周末日期,本周一日期。
获取本周一 public static Date getNowWeekMonday(Date date) { Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.add(Calendar.DAY_OF_MONTH, -1); \/\/解决周日会出现 并到下一周的情况 cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); 303 return cal.ge...

java中如何获取日期时间中的星期几?
参数为null时表示获取当前日期是星期几 param date return \/ public static String getWeekOfDate(Date date) { String[] weekOfDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};Calendar calendar = Calendar.getInstance();if(date != null){ calenda...

Java判断日期是否是本日,本周,本月
-day+1+1);\/\/ 后面的+1是因为从周日开始\/\/ 本周一的日期System.out.println(format.format(firstDayOfWeek.getTime()));Calendar lastDayOfWeek = Calendar.getInstance(Locale.getDefault());lastDayOfWeek.setFirstDayOfWeek(Calendar.MONDAY);day = lastDayOfWeek.get(Calendar.DAY_OF_WEEK);lastDayOfWee...

Java如何得到指定时间段中的所有周,及每周的每一天都是周几和日期是多 ...
c_end.add(Calendar.DAY_OF_YEAR, 1); \/\/结束日期下滚一天是为了包含最后一天 while(c_begin.before(c_end)){ System.out.println("第"+count+"周 日期:"+new java.sql.Date(c_begin.getTime().getTime())+", "+weeks[c_begin.get(Calendar.DAY_OF_WEEK)]);if(c_begin.get(...

相似回答