-
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:30package ...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));
}
}
}
-
Java-获取最近一周的日期以及对应星期
2019-11-12 14:51:021、偷懒直接贴代码,方便下次使用: /** * .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';
-
java获取指定时间区间的所有日期,获取最近一周,最近一个月,最近一年的所有日期
2019-11-20 09:36:04System.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获取当前时间前一周、前一月、前一年的时间
2021-02-27 15:58:12java获取本月开始时间和结束时间、上个月第一天和最后一天的时间以及当前日期往前推一周、一个月 import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.uti ... ... -
java获取今天、昨天、近一周、本周、本月时间段
2018-01-23 15:41:16java获取今天、昨天、近一周、近两周、近三周、近一月、近两月、近三月、近半年、本周、上周、本月、上月时间段 -
Java最准确的获取当前一周开始时间和结束时间
2022-04-28 09:22:13准确定获取当前日期周的开始时间和结束时间 -
java 获取当前日期周一周日和前一周日期
2020-01-10 10:22:13获取当前日期上一周 SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");//设置日期格式 Calendar cld = Calendar.getInstance(Locale.CHINA); cld.setFirstDayOfWeek(Calendar.MONDAY);//以周一... -
java程序中,如何设置周一为一周的开始?如何设置周一为一周的第一天? 或者说,如何理解java的...
2020-11-30 22:07:07java中,在统计周的时候,默认一周是从周日开始的。但因为生活习惯或项目需求,我们经常需要改变一周的起始日期,这里说一下解决办法以及我陷入的误区。 一、 解决办法 ... -
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.... -
java获取当前上一周、上一月、上一年的时间
2021-02-12 20:11:02//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.... -
Java日期——根据当前时间获取一周的开始时间、结束时间
2020-09-17 13:35:37import 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:02Calendar 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 基础 之 获取当前一周的所有日期/获取指定任意日期当周一星期的所有日期
2021-11-19 14:57:25Java 基础 之 获取当前一周的日期/获取指定任意日期当周一星期的日期 目录 Java 基础 之 获取当前一周的日期/获取指定任意日期当周一星期的日期 一、简单介绍 二、实现原理 三、注意事项 四、效果实现 五... -
Java根据日期获取当前周的所有日期以及上一周和下一周的所有日期
2020-03-27 18:50:57日期格式:2020-03-27 方法 /** * 获取当前周的所有日期 * @param n -1代表上一周 +1代表下一周 * @param mydata * @return */ public static String[] getweek(int n, String mydata) { String[]... -
java:如何获取一周、一月、一年的第一天和最后一天
2019-07-09 17:49:07如果一周的开始时间是固定的,那么,要用下面的方法来获取一周的第一天和最后一天: public static Calendar getFirstDayOfWeek(Calendar x) { boolean isFirstSunday = (x.getFirstDayOfWeek() == ... -
java时间减少一周,一月,一年实例
2016-08-28 23:05:481、实例代码: String hql=null; Calendar cal = Calendar.getInstance(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); String beginDate=null; String endDate=format.format... -
java获取指定日期的所在周的第一天(周一)
2019-09-03 23:20:28java获取指定日期的所在周的第一天(周一) private static void getWeekByDate(Date time) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // 设置时间格式 Calendar cal = Calendar.... -
java获取本周 上周的所有日期
2021-03-02 11:11:111 根据当前日期获得所在周的日期区间(周一和周日日期)public String getTimeInterval...// 判断要计算的日期是否是周日,如果是则减一天计算周六的,否则会出问题,计算到下一周去了int dayWeek = cal.get(Calendar... -
Java 获取最近一周的日期以及对应星期
2021-06-11 17:04:28week=week.replaceAll("星期","周"); }catch (ParseException e){ e.printStackTrace(); } return week; } /** * 获取过去7天内的日期数组 * @param intervals intervals天内 * @return 日期数组 */ public ... -
Java实现获取过去一周,一个月,一年等日期
2018-09-03 16:43:27//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 ... -
java获取日期,前一年,前一月,前一周
2021-03-08 23:17:11//过去一月 calendar.setTime(new Date()); calendar.add(Calendar.MONTH, -1); Date m = calendar.getTime(); String mon = format.format(m); System.out.println("过去一个月:"+mon); //过去三个月 calendar.... -
Java8 LocalDate 根据给定的日期,获取该日期上一周的周一周日
2020-02-15 09:21:17开发中,经常遇到要求取某个周的周一周日,在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; ...