将日期转换为周x

package src.main.test.com.test;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;

public class WeekTest {
    public static void main(String[] args) {
        String a=dateToWeek("2021-07-18");
        System.out.println(a);

    }



    /**
     * 获取指定时间段内,特定星期几的日期字符串列表
     * @param begin 开始日期 格式为:2012/12/12
     * @param end 结束日期 格式为:2012/12/12
     * @param week 要选择的星期 为本周的第几天,以星期日为 本周的第“1”天
     * @return 日期字符串列表
     */
    public static List getMeetingDate(String begin, String end, String[] week) {

        String beginStr = begin.replaceAll("\\/", "-");
        String endStr = end.replaceAll("\\/", "-");
        List list = new ArrayList();
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.CHINESE);
        Calendar beginDate = Calendar.getInstance();
        Calendar endDate = Calendar.getInstance();
        try {
            beginDate.setTime(dateFormat.parse(beginStr));
            endDate.setTime(dateFormat.parse(endStr));
        } catch (ParseException e) {
            e.printStackTrace();
        }

        //获取指定日历的副本
        Calendar date = (Calendar)beginDate.clone();
        while(date.before(endDate)) {
            //获取日期所在周的第几天
            int dayOfWeek = date.get(Calendar.DAY_OF_WEEK);
            for(int i = 0; i < week.length; i++) {
                if(dayOfWeek == Integer.parseInt(week[i])) {
                    String str = dateFormat.format(date.getTime());
                    list.add(str);
                }
            }
            //日期的后一天
            date.add(Calendar.DAY_OF_MONTH, 1);
        }

        return list;
    }

    /**
     * 将日期转换为周几
     */
    public static String dateToWeek(String datetime) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        String[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}; //可以其他的表现形式
        Calendar cal = Calendar.getInstance();// 获取指定时间
        Date date;
        try {
            date = sdf.parse(datetime);
            cal.setTime(date);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        int w = cal.get(Calendar.DAY_OF_WEEK) - 1;
        return weekDays[w];
    }
}

输出:
	星期日

上一篇:Go语言趣学指南-lesson6


下一篇:数据库运行成功,连接提示1045