js根据当前时间获取指定范围内的时间段日期

简介: 版权声明:本文为博主原创文章,如需转载,请标明出处。 https://blog.csdn.net/alan_liuyue/article/details/78311491 一.
版权声明:本文为博主原创文章,如需转载,请标明出处。 https://blog.csdn.net/alan_liuyue/article/details/78311491

一. 前言

    在项目当中,有很多时候需要根据当前时间来获取指定的时间范围,用于查询某个时间段内的数据库数据,比如根据当前时间获取今天、昨天、一周内、本周内、一个月内等

的时间范围;

   本篇博客则提供一个获取时间段的js工具,简洁方便,也应用于很多项目上,有兴趣的程序猿可参考参考;


二. 实践

    1. 下面则是具体的js方法:

//判断时间条件
function timeFormat(){
	var startTime = $('#startTime').val();
	var endTime = $('#endTime').val();
	if(startTime=='' || endTime==''){
		jp.warning("时间不能为空");
		return false; 
	}
	var date1 = new Date(startTime.replace(/-/g,"/"));
	var date2 = new Date(endTime.replace(/-/g,"/"));
	if(date2.getTime()<date1.getTime()){
		jp.warning("开始时间不能大于结束时间!");
		return false;
	}
	var day = parseInt(((date2.getTime()-date1.getTime())/1000)/(24*60*60));
	if(day>30){
		jp.warning("查询的时间区间不能超过30天");
		return false;
	}
	return true;
}

/**获取指定范围内时间*/
//设定查询时间
function setSearchDate(range) {
	var type="0";
	switch (range) {
		//0表示昨天
		case 0:$('#startTime').val(addDate(-1)+" 00:00:00");$('#endTime').val(addDate(0)+" 00:00:00");break;
		//1表示今天
		case 1:$('#startTime').val(addDate(0)+" 00:00:00");$('#endTime').val(addDate(0,type));break;
		//2表示本周内
		case 2:;$('#startTime').val(addDate(-new Date().getDay()+1)+" 00:00:00");$('#endTime').val(addDate(0,type));break;
		//3表示一周内
		case 3:$('#startTime').val(addDate(-6,type));$('#endTime').val(addDate(0,type));break;
		//4表示本月内
		case 4:$('#startTime').val(addDate(-new Date().getDate()+1)+" 00:00:00");$('#endTime').val(addDate(0,type));break;
		//5表示一月内
		case 5:$('#startTime').val(addDate(-30,type));$('#endTime').val(addDate(0,type));break;
		default:break;
	}
}

//加减天数(含时分秒)
function addDate(days,type) {
	var d = new Date();
	d.setDate(d.getDate()+days);
	var month = d.getMonth()+1;
	var day = d.getDate();
	var hour = d.getHours();
	var minutes = d.getMinutes();
	var seconds = d.getSeconds();
	
	if(month<10) {
		month="0"+month;
	}
	
	if(day<10) {
		day="0"+day;
	}
	var time="";
	//type不是空字符串 表示需要时分秒
	if(type!=null&&""!=type) {
		if(hour<10) {
			hour="0"+hour;
		}
		
		if(minutes<10) {
			minutes="0"+minutes;
		}
		
		if(seconds<10) {
			seconds="0"+seconds;
		}
		time = " "+hour+":"+minutes+":"+seconds;
	}

	var val = d.getFullYear()+"-"+month+"-"+day+time;
	return val;
}
    

    2. 下面是jsp页面的展示代码:

	<div style="margin-top:20px;width:600px;height:200px;border:1px solid gray">
	<h>时间utils</h>
			<div>
			<span>时间范围:</span><input type="text" id="startTime"/>~<input type="text" id="endTime"/>
			</div>
			<div style="padding-top: 10px;">
				<div >
					<input  type="radio" name="dateTime"  onclick="setSearchDate(0)">
					<label >昨天</label>
				</div>
				<div >
					<input  type="radio" name="dateTime" onclick="setSearchDate(1)">
					<label >今天</label>
				</div>
				<div >
					<input  type="radio" name="dateTime"  onclick="setSearchDate(2)">
					<label >本周</label>
				</div>
				<div >
					<input  type="radio" name="dateTime" onclick="setSearchDate(3)">
					<label >一周</label>
				</div>
				<div >
					<input  type="radio" name="dateTime" onclick="setSearchDate(4)">
					<label >本月</label>
				</div>
				<div >
					<input  type="radio" name="dateTime"  onclick="setSearchDate(5)">
					<label  >一月</label>
				</div>
			</div>
	</div>

     3.下面则是根据当前时间查询的效果,当前时间是(截图有时间差):2017-10-22 17:49:00




三. 总结

    以上就是js根据当前时间,查询指定范围内的时间戳的js方法,相对简洁方便,有需要的程序猿可参考,有其他好方法欢迎交流分享~

相关文章
|
1月前
|
JavaScript 前端开发
JavaScript Date(日期) 对象
JavaScript Date(日期) 对象
40 2
|
6月前
|
JavaScript
JS设置日期为0时0分0秒
项目中经常要给设置默认值,搜索从哪天开始,这时候,如果直接通过new Date()来获取时间,会有时分秒,如果快速设置为0时0分0秒?
275 0
|
6月前
|
JavaScript 前端开发
javascript 如何判断字符串日期是否相差七天
在JavaScript中,你可以使用`Date`对象来比较两个日期之间的差异。下面是一个简单的示例,演示如何判断两个字符串日期是否相差七天: ```javascript function isSevenDaysDifference(date1, date2) { // 确保输入是字符串 if (typeof date1 !== 'string' || typeof date2 !== 'string') { return false; } // 将字符串转换为Date对象 var d1 = new Date(date1);
185 1
|
6月前
|
移动开发 JavaScript 前端开发
分享76个时间日期JS特效,总有一款适合您
分享76个时间日期JS特效,总有一款适合您
68 0
|
6月前
|
JavaScript 前端开发 UED
分享89个时间日期JS特效,总有一款适合您
分享89个时间日期JS特效,总有一款适合您
77 3
|
2月前
|
JavaScript 前端开发
js时间戳转日期时间
js时间戳转日期时间
81 20
|
17天前
|
JavaScript 前端开发 搜索推荐
Moment.js、Day.js、Miment,日期时间库怎么选?
【10月更文挑战第29天】如果你需要一个功能强大、插件丰富的日期时间库,并且对性能要求不是特别苛刻,Moment.js是一个不错的选择;如果你追求极致的轻量级和高性能,那么Day.js可能更适合你;而如果你有一些特定的日期时间处理需求,并且希望在性能和功能之间取得平衡,Miment也是可以考虑的。
|
2月前
|
JavaScript 前端开发
|
5月前
|
JavaScript vr&ar 数据库
技术笔记:Js获取当前日期时间及其它操作
技术笔记:Js获取当前日期时间及其它操作
133 1
|
5月前
|
JavaScript 前端开发
JS实现时间段过滤搜索
JS实现时间段过滤搜索