额,本人第一次下博文,先写一篇看看咋写。
文章目录
- 前言
- 一、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和js里获取本周和下周日期的内容。