额,本人第一次下博文,先写一篇看看咋写。


文章目录

  • 前言
  • 一、java下获取本周开始结束日期以及根据某个日期获取本周开始结束日期
  • 二、js获取本周或下周日期
  • 总结



前言

前几天开发时用到了一些获取本周日期,下周日期,根据某个时间得到本周开始结束时间的工具类,现总结一下。


一、java下获取本周开始结束日期以及根据某个日期获取本周开始结束日期

代码如下,同理你可以获取下周的开始结束日期。

// 获取本周的开始时间
		@SuppressWarnings("unused")
		public static Date getBeginDayOfWeek() {
			Date date = new Date();
			if (date == null) {
				return null;
			}
			Calendar cal = Calendar.getInstance();
			cal.setTime(date);
			int dayofweek = cal.get(Calendar.DAY_OF_WEEK);
			if (dayofweek == 1) {
				dayofweek += 7;
			}
			cal.add(Calendar.DATE, 2 - dayofweek);
			return getDayStartTime(cal.getTime());
		}

		// 获取本周结束日期
		public static Date getWeekEnd() {

			Calendar cal = Calendar.getInstance();
			cal.setTime(getBeginDayOfWeek());
			cal.add(Calendar.DATE, 6);
			return getDayEndTime(cal.getTime());
		}

		// 获取某个日期的开始时间
		public static Timestamp getDayStartTime(Date d) {
			Calendar calendar = Calendar.getInstance();
			if (null != d)
				calendar.setTime(d);
			calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 0,
					0, 0);
			calendar.set(Calendar.MILLISECOND, 0);
			return new Timestamp(calendar.getTimeInMillis());
		}

		// 获取某个日期的结束时间
		public static Timestamp getDayEndTime(Date d) {
			Calendar calendar = Calendar.getInstance();
			if (null != d)
				calendar.setTime(d);
			calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 23,
					59, 59);
			calendar.set(Calendar.MILLISECOND, 999);
			return new Timestamp(calendar.getTimeInMillis());
		}
		//获取某个日期的本周开始日期
		public static Date getThisWeekMonday(Date date) {
	        Calendar cal = Calendar.getInstance();
	        cal.setTime(date);
	        // 获得当前日期是一个星期的第几天
	        int dayWeek = cal.get(Calendar.DAY_OF_WEEK);
	        if (1 == dayWeek) {
	            cal.add(Calendar.DAY_OF_MONTH, -1);
	        }
	        // 设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一
	        cal.setFirstDayOfWeek(Calendar.MONDAY);
	        // 获得当前日期是一个星期的第几天
	        int day = cal.get(Calendar.DAY_OF_WEEK);
	        cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - day);
	        return cal.getTime();
	    }
		//获得某个日期的本周结束日期
		public static Date getThisWeekSunday(Date date) {
			Calendar cal = Calendar.getInstance();
			cal.setTime(getThisWeekMonday(date));
			cal.add(Calendar.DATE, 6);
			return getDayEndTime(cal.getTime());
	    }

二、js获取本周或下周日期

代码如下(示例):

function loadDate(n){
var now = new Date();
//如果需要根据日期获取的话,自己在添加一个参数把日期传过来
  var year = now.getFullYear();
  //因为月份是从0开始的,所以获取这个月的月份数要加1才行
  var month = now.getMonth() + 1;
  var date = now.getDate();
  var day = now.getDay();
  //判断是否为周日,如果不是的话,就让今天的day-1(例如星期二就是2-1)
  if (day !== 0) {
    n = n + (day - 1);
  } else {
    n = n + day;
  }
  if (day) {
    //这个判断是为了解决跨年的问题
    if (month > 1) {
      month = month;
    }
    //这个判断是为了解决跨年的问题,月份是从0开始的
    else {
      year = year - 1;
      month = 12;
    }
  }
  now.setDate(now.getDate() - n);
  year = now.getFullYear();
  month = now.getMonth() + 1;
  date = now.getDate();
  // console.log(n);
}

取本周和下周日期(示例):

var bzMonday=loadDate(0)+"</br>星期一";
var bzTuesday=loadDate(-1)+"</br>星期二";
var bzWednesday=loadDate(-2)+"</br>星期三";
var bzThursday=loadDate(-3)+"</br>星期四"; 
var bzFriday=loadDate(-4)+"</br>星期五";
var bzSaturday=loadDate(-5)+"</br>星期六";
var bzSunday=loadDate(-6)+"</br>星期日";
var xzMonday=loadDate(-7)+"</br>星期一";
var xzTuesday=loadDate(-8)+"</br>星期二";
var xzWednesday=loadDate(-9)+"</br>星期三";
var xzThursday=loadDate(-10)+"</br>星期四"; 
var xzFriday=loadDate(-11)+"</br>星期五";
var xzSaturday=loadDate(-12)+"</br>星期六";
var xzSunday=loadDate(-13)+"</br>星期日";

java 获取一周的零点时间 java中获取下周一时间_javascript


图片是页面展示效果,从上面代码可以看出如何获取本周和下周日期


总结


例如:以上就是今天要讲的内容,本文仅仅简单介绍了java和js里获取本周和下周日期的内容。