zoukankan      html  css  js  c++  java
  • Java 获取日期间的日期 & 根据日期获取星期

    场景:根据起止日期获取中间的日期; 根据日期获取当前日期的星期

         

    • 根据日期日期获取日期

        /**
         * 获取日期间日期
         * @param start
         * @param end
         * @return
         */
        private static List<Date> getBetweenDates(Date start, Date end) {
    
            List<Date> result = new ArrayList<>();
            Calendar tempStart = Calendar.getInstance();
            tempStart.setTime(start);
            Calendar tempEnd = Calendar.getInstance();
            tempEnd.setTime(end);
            tempEnd.add(Calendar.DAY_OF_YEAR, 1);
            while (tempStart.before(tempEnd)) {
                result.add(tempStart.getTime());
                tempStart.add(Calendar.DAY_OF_YEAR, 1);
            }
            return result;
        }
    • 根据日期获取属于星期几

        /**
         * 根据日期获取 星期 (2019-05-06 ——> 星期一)
         * @param datetime
         * @return
         */
        public static String dateToWeek(String datetime) {
    
            SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd");
            String[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
            Calendar cal = Calendar.getInstance();
            Date date;
            try {
                date = f.parse(datetime);
                cal.setTime(date);
            } catch (ParseException e) {
                e.printStackTrace();
            }
            //一周的第几天
            int w = cal.get(Calendar.DAY_OF_WEEK) - 1;
            if (w < 0)
                w = 0;
            return weekDays[w];
        }
    • 完整示例

    import java.text.DateFormat;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.List;
    
    public class TestMain {
    
        public static void main(String[] args) throws ParseException {
    
            DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            List<Date> dateList = getBetweenDates(sdf.parse("2019-05-06"), sdf.parse("2019-05-12"));
            for (Date date : dateList) {
                System.out.println(sdf.format(date) + " " + dateToWeek(sdf.format(date)));
            }
        }
    
    
        /**
         * 获取日期间日期
         * @param start
         * @param end
         * @return
         */
        private static List<Date> getBetweenDates(Date start, Date end) {
    
            List<Date> result = new ArrayList<>();
            Calendar tempStart = Calendar.getInstance();
            tempStart.setTime(start);
            Calendar tempEnd = Calendar.getInstance();
            tempEnd.setTime(end);
            tempEnd.add(Calendar.DAY_OF_YEAR, 1);
            while (tempStart.before(tempEnd)) {
                result.add(tempStart.getTime());
                tempStart.add(Calendar.DAY_OF_YEAR, 1);
            }
            return result;
        }
    
        /**
         * 根据日期获取 星期 (2019-05-06 ——> 星期一)
         * @param datetime
         * @return
         */
        public static String dateToWeek(String datetime) {
    
            SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd");
            String[] weekDays = {"星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};
            Calendar cal = Calendar.getInstance();
            Date date;
            try {
                date = f.parse(datetime);
                cal.setTime(date);
            } catch (ParseException e) {
                e.printStackTrace();
            }
            //一周的第几天
            int w = cal.get(Calendar.DAY_OF_WEEK) - 1;
            if (w < 0)
                w = 0;
            return weekDays[w];
        }
    }

      结果:

  • 相关阅读:
    201521123093 java 第二周学习总结
    201521123093 java 第一周总结
    Word 2010怎么自动添加文献引用
    动态链接库(dll)文件的动态调用(使用动态链接库,解析Wis文件--测井数据文件的一种)
    open inventor 学习笔记
    井眼轨迹的三次样条插值 (vs + QT + coin3d)
    VS2010 + QT 5 +open inventor 环境配置
    我的第一个项目(人力资源管理之报表管理)
    B-tree 和 B+tree
    mysql count(*)与count(1)的区别
  • 原文地址:https://www.cnblogs.com/BillyYoung/p/10833471.html
Copyright © 2011-2022 走看看