JAVA知道当前是星期几求出这周每天的日期

本文分享了一段用于计算指定周内所有日期的Java代码,并针对如何获取当前周的起始与结束日期进行了讨论。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开场白:代码啊,代码,程序猿啊,程序猿。为啥你就这来的杯具了。发一下小牢骚。发现自从做了程序猿之后,本来就性格内向且不爱说话的我,现在变的更加的有点不会说话了。你说。这样我情何以堪。下个礼拜就要参加同学的婚礼了。哎,到目前为止,我还没对象。是can not find object了么。why。到现在还不知道exception到底出在了哪里。今天上班。办公室气氛不知为什么气氛特别的冷清,僵直。而且我今天还和同事搞 的特别的不高兴。就为了那点破代码的事情。就为了那几个破bug的事情,搞 的人和人之间隔阂重重,你说着是我想要的么。我都有一点不想干IT这行了。之前在我还是一位标准的菜鸟之前,虽然什么都不会,都处在一个学习的阶段,但是很快乐。到现在了。自己的技术也比以前提升了。可是我却莫名的感到了,在处理人和人之间的情感和关系这件事情上变的却来却沉默,不想和别人吵,争论是非。到底是谁对谁错,确实是这样,事实本来就没有谁对谁错,俗话说的好。跟同事讲道理你是不想混了。。。。等等。可为啥我就一下子接受不了这样子呢。废话不多说,就是因为以下这些该死的代码。把我整的今天都没过好。亮相:

public String getWeekDate(int week){
		SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
		Calendar c = Calendar.getInstance();
		 
        // 默认时,每周第一天为星期日,需要更改一下
        c.setFirstDayOfWeek(Calendar.MONDAY);
 
        Date current = c.getTime();
 
        c.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
        Date first = c.getTime();
 
        c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
        Date last = c.getTime();
        
        String dateFirst = dateFormat.format(first);
        String dateSecond = dateFormat.format(last);
        System.out.printf("当前日期:%tF%n", current);
        System.out.printf("本周第一天(周一):%tF%n", first);
        System.out.printf("本周最后一天(周日):%tF%n", last);
        return DatetoDate(dateFirst, dateSecond, week);
	}

以上代码解释,可求出当前时间范围内一周的日期。

以下是求出两个起始时间范围内指周几的所有日期

public String DatetoDate(String dateFirst,String dateSecond,int week){
		System.out.println("starttime"+dateFirst+"endtime"+dateSecond+"week"+week);
		SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
		String date2datestr=""; //返回的星期字符串
        try{
            Date dateOne = dateFormat.parse(dateFirst);
            Date dateTwo = dateFormat.parse(dateSecond);
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(dateOne);
            while(calendar.getTime().compareTo(dateTwo)<=0){
            	String datestr_l = dateFormat.format(calendar.getTime());
            	Date date = dateFormat.parse(datestr_l);
            	int day = date.getDay()==0?7:date.getDay();
            	if(week==day){
            		date2datestr=datestr_l;//每个日期
            	}
                calendar.add(Calendar.DAY_OF_MONTH, 1);                
            }
        }
        catch(Exception e){
            e.printStackTrace();
        }
        return date2datestr;
	}
因为一开始不知道知道当前的时间求出这一周之内的所有日期。搞的和同事不好了。因为这块本来是他的活,但是他那边现在有活,而且看他比较烦躁所以我就自己做了。代码给大家分享出来。还希望大家多多指点。同事也希望大家不要为此困惑。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值