精华内容
下载资源
问答
  • java 获取最近一周最近一月,最近一年的起始时间
    千次阅读
    2019-11-23 09:30:03
    /**
         * 获得近一周的开始时间和结束时间
         * @return
         */
        public static Map<String,Date> getDaySevenRange(){
    //        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Map condition=new HashedMap();
            Calendar calendar = Calendar.getInstance();
            calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
            calendar.set(Calendar.HOUR_OF_DAY,24);
            condition.put("endDate",calendar.getTime());
            calendar.set(Calendar.HOUR_OF_DAY,-168);
            condition.put("startDate",calendar.getTime());
            return condition;
        }
    
        /**
         * 获得近一月的开始时间和结束时间
         * @return
         */
        public static Map<String,Date> getDayTRange(){
    //        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Map condition=new HashedMap();
            Calendar calendar = Calendar.getInstance();
            calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
            calendar.set(Calendar.HOUR_OF_DAY,24);
            condition.put("endDate",calendar.getTime());
            calendar.set(Calendar.HOUR_OF_DAY,-720);
            condition.put("startDate",calendar.getTime());
            return condition;
        }
    
        /**
         * 获得近一年的开始时间和结束时间
         * @return
         */
        public static Map<String,Date> getYearTRange(){
    //        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Map condition=new HashedMap();
            Calendar calendar = Calendar.getInstance();
            calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
            calendar.set(Calendar.HOUR_OF_DAY,24);
            condition.put("endDate",calendar.getTime());
            calendar.set(Calendar.HOUR_OF_DAY,-8640);
            condition.put("startDate",calendar.getTime());
            return condition;
        }
    
    更多相关内容
  • Java获取最近一周的时间

    千次阅读 2021-02-12 23:55:30
    package ...import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;public class Test {public static voi...

    package com.utcsoft.pcapps.selfservice.controller;

    import java.text.ParseException;

    import java.text.SimpleDateFormat;

    import java.util.Calendar;

    import java.util.Date;

    public class Test {

    public static void main(String[] args) throws ParseException {

    Calendar cal = Calendar.getInstance();

    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");

    cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); // 获取本周一的日期

    System.out.println(df.format(cal.getTime()));

    cal.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);// 这种输出的是上个星期周日的日期,因为老外那边把周日当成第一天

    cal.add(Calendar.WEEK_OF_YEAR, 1);// 增加一个星期,才是我们中国人理解的本周日的日期

    System.out.println(df.format(cal.getTime()));

    }

    }

    输出周一到周日的所有日期:

    package com.utcsoft.pcapps.selfservice.controller;

    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 Test {

    /**

    * 根据日期获得所在周的日期

    * @param mdate

    * @return

    */

    @SuppressWarnings("deprecation")

    public static List dateToWeek(Date mdate) {

    int b = mdate.getDay();

    Date fdate;

    List list = new ArrayList();

    Long fTime = mdate.getTime() - b * 24 * 3600000;

    for (int a = 1; a <= 7; a++) {

    fdate = new Date();

    fdate.setTime(fTime + (a * 24 * 3600000));

    list.add(a-1, fdate);

    }

    return list;

    }

    public static void main(String[] args) throws ParseException {

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd EEE");//EEE代表星期几

    Date currentDate = new Date();

    List days = dateToWeek(currentDate);

    System.out.println("今天的日期: " + sdf.format(currentDate));

    for (Date date : days) {

    System.out.println(sdf.format(date));

    }

    }

    }

    展开全文
  • 1、偷懒直接贴代码,方便下次使用: /** * .Description://根据字符日期返回星期几 ...-- 查询某月数据--> select *from table_name where year(create_date) = '2018' and month(create_date) = '12';

    1、偷懒直接贴代码,方便下次使用:

      /**
         * .Description://根据字符日期返回星期几
         * .Author:麦克劳林
         * .@Date: 2018/12/29
         */
        public String getWeek(String dateTime){
            String week = "";
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            try {
                Date date = sdf.parse(dateTime);
                SimpleDateFormat dateFm = new SimpleDateFormat("EEEE");
                week = dateFm.format(date);
                week=week.replaceAll("星期","周");
            }catch (ParseException e){
                e.printStackTrace();
            }
            return week;
        }
    
        /**
         * 获取过去7天内的日期数组
         * @param intervals      intervals天内
         * @return              日期数组
         */
        public ArrayList<String> getDays(int intervals) {
            ArrayList<String> pastDaysList = new ArrayList<>();
            for (int i = intervals -1; i >= 0; i--) {
                pastDaysList.add(getPastDate(i));
            }
            return pastDaysList;
        }
        /**
         * 获取过去第几天的日期
         * @param past
         * @return
         */
        public String getPastDate(int past) {
            Calendar calendar = Calendar.getInstance();
            calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) - past);
            Date today = calendar.getTime();
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
            String result = format.format(today);
            return result;
        }
    

    2、SQL根据日期查询某天数据

      select * from table_name where date_format(create_date,'%Y-%m-%d') = '2018-12-29';
       <!-- 查询某一月数据-->
      select *from table_name  where year(create_date) = '2018' and month(create_date) =  '12';
    
    展开全文
  • System.out.println("最近一周:"+result3.toString()); List<String> result4 = getNearlyMonthDates(); System.out.println("最近一月:"+result4.toString()); List<String> result5 = getNearlyYearDates();...

    1、补全给定起止时间区间内的所有日期

    /**
     * 补全给定起止时间区间内的所有日期
     * @param startTime
     * @param endTime
     * @param isIncludeStartTime
     * @return
     */
    public static List<String> getBetweenDates(String startTime, String endTime,boolean isIncludeStartTime){
        List<String> result = new ArrayList<>();
        try {
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
            Date d1 = new SimpleDateFormat("yyyy-MM-dd").parse(startTime);//定义起始日期
            Date d2 = new SimpleDateFormat("yyyy-MM-dd").parse(endTime);//定义结束日期  可以去当前月也可以手动写日期。
            Calendar dd = Calendar.getInstance();//定义日期实例
            dd.setTime(d1);//设置日期起始时间
            if(isIncludeStartTime) {
                result.add(format.format(d1));
            }
            while (dd.getTime().before(d2)) {//判断是否到结束日期
                dd.add(Calendar.DATE, 1);//进行当前日期加1
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                String str = sdf.format(dd.getTime());
                result.add(str);
                System.out.println(str);
            }
        }catch (Exception e) {
            e.printStackTrace();
        }
    
        return result;
    }

    2、 补全给定起止时间区间内的所有周(年份-周)

    /**
     * 补全给定时间内的所有周,包含最开始的
     * @param startTime
     * @param endTime
     * @return
     */
    public static ArrayList<String> getWeeksBetweenDates(String startTime,String endTime) {
        ArrayList<String> result = new ArrayList<>();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        Date start = null;
        Date end = null;
        try {
            start = format.parse(startTime);
            end = format.parse(endTime);
            Calendar calendar = Calendar.getInstance();
            calendar.setFirstDayOfWeek(Calendar.MONDAY);
            calendar.setTime(start);
            result.add(calendar.get(Calendar.YEAR) + "-" + calendar.get(Calendar.WEEK_OF_YEAR));
            while(calendar.getTime().before(end)) {
                calendar.add(Calendar.WEEK_OF_YEAR, 1);
                String weekStr = calendar.get(Calendar.YEAR) + "-" + calendar.get(Calendar.WEEK_OF_YEAR);
                result.add(weekStr);
            }
        } catch (ParseException e) {
            e.printStackTrace();
        }
    
        return result;
    }

    3、补全给定起止时间区间内的所有月份

    /**
     * 补全给定时间区内的所有月份
     * @param startTime
     * @param endTime
     * @return
     */
    public static List<String> getMonthsBetweenDates(String startTime,String endTime) {
        List<String> result = new ArrayList<>();
        try{
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM");
            Date d1 = new SimpleDateFormat("yyyy-MM").parse(startTime);//定义起始日期
            Date d2 = new SimpleDateFormat("yyyy-MM").parse(endTime);//定义结束日期  可以去当前月也可以手动写日期。
            Calendar dd = Calendar.getInstance();//定义日期实例
            dd.setTime(d1);//设置日期起始时间
            result.add(format.format(d1));
            while (dd.getTime().before(d2)) {//判断是否到结束日期
                dd.add(Calendar.MONTH, 1);//进行当前日期月份加1
                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
                String str = sdf.format(dd.getTime());
                result.add(str);
            }
        }catch (Exception e){
            e.printStackTrace();
        }
    
        return result;
    }

    4、最近一周的所有日期

    /**
     * 最近一周的所有日期
     * @return
     */
    public static List<String> getNearlyWeekDates() {
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        Calendar c = Calendar.getInstance();
        //过去七天
        c.setTime(new Date());
        String today = format.format(new Date());
        c.add(Calendar.DATE, - 7);
        Date d = c.getTime();
        String day = format.format(d);
        List<String> result = getBetweenDates(day,today,false);
    
        return result;
    }

    5、最近一个月的所有日期

    /**
     * 最近一个月的所有日期
     * @return
     */
    public static List<String> getNearlyMonthDates() {
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        Calendar c = Calendar.getInstance();
        //过去一月
        c.setTime(new Date());
        String today = format.format(new Date());
        c.add(Calendar.MONTH, -1);
        Date m = c.getTime();
        String mon = format.format(m);
        List<String> result = getBetweenDates(mon,today,false);
    
        return result;
    }

    6、最近一年的所有月份

    /**
     * 最近一年的所有月份
     * @return
     */
    public static List<String> getNearlyYearDates() {
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        Calendar c = Calendar.getInstance();
        //过去一年
        c.setTime(new Date());
        String today = format.format(new Date());
        c.add(Calendar.MONTH, -11);
        Date y = c.getTime();
        String year = format.format(y);
        //如果要获取近一年内的所有日期则,调用getBetweenDates()方法
        List<String> result = getMonthsBetweenDates(year,today);
    
        return result;
    }

    7、运行

     

    public static void main(String[] args) {
        List<String> result1 = getBetweenDates("2019-11-01","2019-11-12",true);
        System.out.println("年-月-日:"+result1);
        List<String> result2 = getMonthsBetweenDates("2019-09-01","2019-11-12");
        System.out.println("年-月:"+result2);
        ArrayList<String> result = getWeeksBetweenDates("2019-1-1","2019-11-12");
        System.out.println("周:"+result.toString());
        List<String> result3 = getNearlyWeekDates();
        System.out.println("最近一周:"+result3.toString());
        List<String> result4 = getNearlyMonthDates();
        System.out.println("最近一月:"+result4.toString());
        List<String> result5 = getNearlyYearDates();
        System.out.println("最近一年:"+result5.toString());
    }

    运行结果:

    年-月-日:
    [2019-11-01, 2019-11-02, 2019-11-03, 2019-11-04, 2019-11-05, 2019-11-06, 
    2019-11-07, 2019-11-08, 2019-11-09, 2019-11-10, 2019-11-11, 2019-11-12]
    
    年-月:
    [2019-09, 2019-10, 2019-11]
    
    周:指的是一年内的第多少周
    [2019-1, 2019-2, 2019-3, 2019-4, 2019-5, 2019-6, 2019-7, 2019-8, 2019-9, 2019-10, 
    2019-11, 2019-12, 2019-13, 2019-14, 2019-15, 2019-16, 2019-17, 2019-18, 2019-19, 2019-20,
    2019-21, 2019-22, 2019-23, 2019-24, 2019-25, 2019-26, 2019-27, 2019-28, 2019-29, 2019-30,
    2019-31, 2019-32, 2019-33, 2019-34, 2019-35, 2019-36, 2019-37, 2019-38, 2019-39, 2019-40,
    2019-41, 2019-42, 2019-43, 2019-44, 2019-45, 2019-46]
    
    最近一周:
    [2019-11-14, 2019-11-15, 2019-11-16, 2019-11-17, 2019-11-18, 2019-11-19, 2019-11-20]
    
    最近一月:
    [2019-10-21, 2019-10-22, 2019-10-23, 2019-10-24, 2019-10-25, 2019-10-26, 2019-10-27, 
    2019-10-28, 2019-10-29, 2019-10-30, 2019-10-31, 2019-11-01, 2019-11-02, 2019-11-03, 
    2019-11-04, 2019-11-05, 2019-11-06, 2019-11-07, 2019-11-08, 2019-11-09, 2019-11-10, 
    2019-11-11, 2019-11-12, 2019-11-13, 2019-11-14, 2019-11-15, 2019-11-16, 2019-11-17, 
    2019-11-18, 2019-11-19, 2019-11-20]
    
    最近一年:
    [2018-12, 2019-01, 2019-02, 2019-03, 2019-04, 2019-05, 2019-06, 2019-07, 2019-08, 
    2019-09, 2019-10, 2019-11]
    

     

    展开全文
  • java获取本月开始时间和结束时间、上个月第一天和最后一天的时间以及当前日期往前推一周、一个月 import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.uti ... ...
  • java获取今天、昨天、近一周、近两周、近三、近月、近两月、近三月、近半年、本周、上周、本月、上月时间段
  • 准确定获取当前日期的开始时间和结束时间
  • 获取当前日期上一周  SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");//设置日期格式  Calendar cld = Calendar.getInstance(Locale.CHINA);  cld.setFirstDayOfWeek(Calendar.MONDAY);//以周一...
  • java中,在统计周的时候,默认一周是从周日开始的。但因为生活习惯或项目需求,我们经常需要改变一周的起始日期,这里说一下解决办法以及我陷入的误区。        一、 解决办法  ...
  • java获取本周、下一周的日期数据

    千次阅读 2019-10-29 17:31:24
    最近项目中做预约系统...* 获取一周的日期数据 / @Test public void getThisWeekDate(){ Calendar cal = Calendar.getInstance(); SimpleDateFormat dateFormat = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”); ...
  • java获取一年共有多少

    千次阅读 2021-02-12 23:56:13
    首先,每年至少有52个,至多有53个,取决于周一是在哪年(也可以定位周日,这个是由需求决定的),以下是详细代码,其中判断哪天决定了当周是属于哪一年的逻辑是写在getYearWeekEndDay中。/*** 返回指定年度的...
  • Java 获取指定日期的前一周

    千次阅读 2019-07-10 20:03:01
    之前找了好多没有发现有这样的操作,故今天创造...public static String getlastweek (String time) throws java.text.ParseException { Calendar cal = Calendar.getInstance(); cal.setTime(new SimpleDateForm...
  • java8获取某年中每一周的日期

    千次阅读 2020-07-01 10:35:00
    获取指定年份中每一周 的日期范围 直接上代码 package com.dbappsecurity.nssa.notice; import java.time.DayOfWeek; import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.time....
  • //n为推迟的周数,1本周,-1向前推迟一周,2下周,依次类推 int n = 1; String monday; cal.add(Calendar.DATE, n*7);//想周几,这里就传几Calendar.MONDAY(TUESDAY...) cal.set(Calendar.DAY_OF_WEEK,Calendar....
  • import org.joda.time.DateTime; import org.joda.time.LocalDate; import java.text.SimpleDateFormat;... System.out.println("某的开始日期 = " + df.format(be[0]) +";结束日期 = "+ df.format(be[1])); } }
  • Java怎么判断两个日期在同一周

    千次阅读 2019-08-16 13:55:02
    Calendar day1 = Calendar.getInstance(); Calendar day2 = Calendar.getInstance(); day1.set(2019, 8-1, 16); day2.set(2019, 8-1, 17); // 比较当前日期在年份中的周数是否相同 // false System.out.println(day1...
  • java8获取本周本月第天和最后

    千次阅读 2020-09-07 14:04:50
    //本月的第天 LocalDate firstday = LocalDate.of(today.getYear(),today.getMonth(),1); //本月的最后天 LocalDate lastDay =today.with(TemporalAdjusters.lastDayOfMonth()); System.out.println("本月的第...
  • Java 基础 之 获取当前一周的日期/获取指定任意日期当周一星期的日期 目录 Java 基础 之 获取当前一周的日期/获取指定任意日期当周一星期的日期 一、简单介绍 二、实现原理 三、注意事项 四、效果实现 五...
  • 日期格式:2020-03-27 方法 /** * 获取当前周的所有日期 * @param n -1代表上一周 +1代表下一周 * @param mydata * @return */ public static String[] getweek(int n, String mydata) { String[]...
  • 如果一周的开始时间是固定的,那么,要用下面的方法来获取一周的第一天和最后一天: public static Calendar getFirstDayOfWeek(Calendar x) { boolean isFirstSunday = (x.getFirstDayOfWeek() == ...
  • java时间减少一周,一月,一年实例

    千次阅读 2016-08-28 23:05:48
    1、实例代码: String hql=null; Calendar cal = Calendar.getInstance(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); String beginDate=null; String endDate=format.format...
  • java获取指定日期的所在的第天(周一) private static void getWeekByDate(Date time) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // 设置时间格式 Calendar cal = Calendar....
  • java获取本周 上周的所有日期

    千次阅读 2021-03-02 11:11:11
    1 根据当前日期获得所在周的日期区间(周一和周日日期)public String getTimeInterval...// 判断要计算的日期是否是周日,如果是则减一天计算周六的,否则会出问题,计算到下一周去了int dayWeek = cal.get(Calendar...
  • week=week.replaceAll("星期",""); }catch (ParseException e){ e.printStackTrace(); } return week; } /** * 获取过去7天内的日期数组 * @param intervals intervals天内 * @return 日期数组 */ public ...
  • //n为推迟的周数,1本周,-1向前推迟一周,2下周,依次类推 int n = 1; String monday; cal.add(Calendar.DATE, n*7); //想周几,这里就传几Calendar.MONDAY(TUESDAY...) cal.set(Calendar.DAY_OF_WEEK,Calendar....
  • Java8根据年中的第几获得Monday

    千次阅读 2021-03-13 11:44:35
    } 需要注意的是,ISO8601的标准中,至少需要4天才能算作1周,如果某年的第一天是周五、周六或周日,那么这一年的第一周是从下一周开始的 //计算2016年第一周的星期天,ISO标准和`SUNDAY_START`的区别 //2016-01-10 ...
  • //过去月 calendar.setTime(new Date()); calendar.add(Calendar.MONTH, -1); Date m = calendar.getTime(); String mon = format.format(m); System.out.println("过去个月:"+mon); //过去三个月 calendar....
  • 开发中,经常遇到要求取某个周的周一周日,在java8 之前比较麻烦。java8之后用LocalDate 或LocalDateTime处理日期的问题就简单的太多了。 import java.time.DayOfWeek; import java.time.LocalDate; import java....
  • Java根据当前日期获得这一周的日期

    千次阅读 2016-12-28 17:09:25
    * 根据日期获得所在的日期 * @param mdate * @return */ @SuppressWarnings ( "deprecation" ) public static List<Date> dateToWeek (Date mdate) { int b = mdate.getDay(); Date fdate; ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 185,618
精华内容 74,247
关键字:

java 最近一周

java 订阅