js获取指定日期周数以及星期几的小例子
2014-06-28 14:29
375 查看
根据某年某周获取一周的日期。如开始日期规定为星期四到下一周的星期五为一周,需要的朋友可以参考下
JS获取日期时遇到如下需求,根据某年某周获取一周的日期。如开始日期规定为星期四到下一周的星期五为一周。
关于这个网络的工作原理,参看:P2P中DHT网络爬虫以及写了个磁力搜索的网页。
代码如下:
function getNowFormatDate(theDate)
{
var day = theDate;
var Year = 0;
var CurrentDate = "";
// 初始化时间
Year= day.getFullYear();// ie火狐下都可以
Month= day.getMonth()+1;
Day = day.getDate();
CurrentDate += Year + "-";
if (Month >= 10 )
{
CurrentDate += Month + "-";
}
else
{
CurrentDate += "0" + Month + "-";
}
if (Day >= 10 )
{
CurrentDate += Day ;
}
else
{
CurrentDate += "0" + Day ;
}
return CurrentDate;
}
function isInOneYear(_year,_week){
if(_year == null || _year == '' || _week == null || _week == ''){
return true;
}
var theYear = getXDate(_year,_week,4).getFullYear();
if(theYear != _year){
return false;
}
return true;
}
// 获取日期范围显示
function getDateRange(_year,_week){
var beginDate;
var endDate;
if(_year == null || _year == '' || _week == null || _week == ''){
return "";
}
beginDate = getXDate(_year,_week,4);
endDate = getXDate(_year,(_week - 0 + 1),5);
return getNowFormatDate(beginDate) + " 至 "+ getNowFormatDate(endDate);
}
// 这个方法将取得某年(year)第几周(weeks)的星期几(weekDay)的日期
function getXDate(year,weeks,weekDay){
// 用指定的年构造一个日期对象,并将日期设置成这个年的1月1日
// 因为计算机中的月份是从0开始的,所以有如下的构造方法
var date = new Date(year,"0","1");
// 取得这个日期对象 date 的长整形时间 time
var time = date.getTime();
// 将这个长整形时间加上第N周的时间偏移
// 因为第一周就是当前周,所以有:weeks-1,以此类推
// 7*24*3600000 是一星期的时间毫秒数,(JS中的日期精确到毫秒)
time+=(weeks-1)*7*24*3600000;
// 为日期对象 date 重新设置成时间 time
date.setTime(time);
return getNextDate(date,weekDay);
}
// 这个方法将取得 某日期(nowDate) 所在周的星期几(weekDay)的日期
function getNextDate(nowDate,weekDay){
// 0是星期日,1是星期一,...
weekDay%=7;
var day = nowDate.getDay();
var time = nowDate.getTime();
var sub = weekDay-day;
if(sub <= 0){
sub += 7;
}
time+=sub*24*3600000;
nowDate.setTime(time);
return nowDate;
}如获取2016年第一周日期,从周四开始算。则第一周的日期范围为2016-01-07 至 2016-01-15
在提供一段调用的参考代码:
//日期处理
function dateRange(){
var _year = $("#_year").val();
var _week = $("#_week").val();
if(isInOneYear(_year,_week)){
var showDate = getDateRange(_year,_week);
$("#_dateRange_import").html(showDate);
} else{
alert(_year+"年无"+_week+"周,请重新选择");
$("#_week").val("");
}
}
JS获取日期时遇到如下需求,根据某年某周获取一周的日期。如开始日期规定为星期四到下一周的星期五为一周。
关于这个网络的工作原理,参看:P2P中DHT网络爬虫以及写了个磁力搜索的网页。
代码如下:
function getNowFormatDate(theDate)
{
var day = theDate;
var Year = 0;
var Month = 0;
var Day = 0;var CurrentDate = "";
// 初始化时间
Year= day.getFullYear();// ie火狐下都可以
Month= day.getMonth()+1;
Day = day.getDate();
CurrentDate += Year + "-";
if (Month >= 10 )
{
CurrentDate += Month + "-";
}
else
{
CurrentDate += "0" + Month + "-";
}
if (Day >= 10 )
{
CurrentDate += Day ;
}
else
{
CurrentDate += "0" + Day ;
}
return CurrentDate;
}
function isInOneYear(_year,_week){
if(_year == null || _year == '' || _week == null || _week == ''){
return true;
}
var theYear = getXDate(_year,_week,4).getFullYear();
if(theYear != _year){
return false;
}
return true;
}
// 获取日期范围显示
function getDateRange(_year,_week){
var beginDate;
var endDate;
if(_year == null || _year == '' || _week == null || _week == ''){
return "";
}
beginDate = getXDate(_year,_week,4);
endDate = getXDate(_year,(_week - 0 + 1),5);
return getNowFormatDate(beginDate) + " 至 "+ getNowFormatDate(endDate);
}
// 这个方法将取得某年(year)第几周(weeks)的星期几(weekDay)的日期
function getXDate(year,weeks,weekDay){
// 用指定的年构造一个日期对象,并将日期设置成这个年的1月1日
// 因为计算机中的月份是从0开始的,所以有如下的构造方法
var date = new Date(year,"0","1");
// 取得这个日期对象 date 的长整形时间 time
var time = date.getTime();
// 将这个长整形时间加上第N周的时间偏移
// 因为第一周就是当前周,所以有:weeks-1,以此类推
// 7*24*3600000 是一星期的时间毫秒数,(JS中的日期精确到毫秒)
time+=(weeks-1)*7*24*3600000;
// 为日期对象 date 重新设置成时间 time
date.setTime(time);
return getNextDate(date,weekDay);
}
// 这个方法将取得 某日期(nowDate) 所在周的星期几(weekDay)的日期
function getNextDate(nowDate,weekDay){
// 0是星期日,1是星期一,...
weekDay%=7;
var day = nowDate.getDay();
var time = nowDate.getTime();
var sub = weekDay-day;
if(sub <= 0){
sub += 7;
}
time+=sub*24*3600000;
nowDate.setTime(time);
return nowDate;
}如获取2016年第一周日期,从周四开始算。则第一周的日期范围为2016-01-07 至 2016-01-15
在提供一段调用的参考代码:
//日期处理
function dateRange(){
var _year = $("#_year").val();
var _week = $("#_week").val();
if(isInOneYear(_year,_week)){
var showDate = getDateRange(_year,_week);
$("#_dateRange_import").html(showDate);
} else{
alert(_year+"年无"+_week+"周,请重新选择");
$("#_week").val("");
}
}
相关文章推荐
- js日期计算及快速获取周、月、季度起止日,获取指定日期周数以及星期几的小例子
- js获取指定日期周数以及星期几的小例子
- js获取指定日期周数以及星期几的小例子
- js获取指定日期周数以及星期几
- js获取当天和当天以后的两个礼拜的日期以及日期对应的星期几
- js实现日历可获得指定日期周数及星期几示例分享(js获取星期几)
- js实现日历可获得指定日期周数及星期几示例分享(js获取星期几)
- Java中获取指定日为星期几及其他日期操作
- 获取指定日期为星期几
- Java中获取指定日为星期几及其他日期操作
- js 获取指定日期的前几天日期或后几天日期
- 根据指定的日期字符串获取星期几
- js获取当前指定的前几天的日期(如当前时间的前七天的日期)
- js中使用eval()方法将字符串转换成日期格式、并获取指定时间的日期
- JS获取日期和减去指定天数 js日期格式化 js日期计算
- js获取日期:指定日期前后的日期
- 获取指定日期是星期几
- Js获取当前日期时间和我的JQ关于日期的一些例子
- Java中获取指定日为星期几及其他日期操作
- Eclipse连接mysql,以及把随意一个日期变成星期几的例子