1.时间比较:
时间对比方案一:
var time1=new Date(‘2018-12-20:00:00:00’.replace(/-/g, '/')).getTime();//将指定时间转化成时间搓
var now=new Date().getTime();//或者当前时间的时间搓
if(time1>now){
//进行时间的对比
}
时间对比方案二 利用Date.parse():
var time1=Date.parse(‘2018-12-20:00:00:00’.replace(/-/g,"/"));
var current=Date.parse(new Date());
if(time1>current){
//进行时间的对比
}
//这样来比较时间的大小
把年月日 时分秒的时间,转化为时间搓
例如:var aaa=2019-01-07 14:00:00
var startDateTime = new Date(aaa.replace(new RegExp('-', 'g'), '/')).getTime(); --->结果是1546840800000 (毫秒数)
1.将 2018-07-23 转化为时间搓----可以用来比较两个时间的大小(方法一)
var time='2018-07-23'
console,log(splitTime(time) )
function splitTime(time) {
var arr = time.split(" ");
var day = arr[0].split("-");
return Date.UTC(day[0], (day[1] - 1), day[2]) / 1000; //将当前时间转换成时间搓
}
比较两个时间的大小(方法二)--缺点:不能比较相等的情况,可以比较> 和<
var start1 ="2018-08-26";
var start2 ="2018-08-25";
if(splitTime(start1)>splitTime(start2)){
}else if(splitTime(start1)<splitTime(start2)){
}
function splitTime(time){
time = new Date(time.replace(/\-/g, "\/"));
return time
}
2.获取当前时间的 年月日(不需要时分秒的情况),如下格式的 2018-07-23
function CurentTime() {
var now = new Date();
var year = now.getFullYear(); //年
var month = now.getMonth() + 1; //月
var day = now.getDate(); //日
var clock = year + "-";
if (month < 10)
clock += "0";
clock += month + "-";
if (day < 10)
clock += "0";
// clock += day + " ";
clock += day;
return (clock);
}
//获取当前的年月日,没有补0的情况
var data=new Date().getFullYear() + '-' + (new Date().getMonth() + 1) + '-' + new Date().getDate();
js获取当前时间前后N天前后日期的方法
这个javascript函数是获取当前时间前后N天日期的方法,可以得到昨天,今天,明天,一月前,三月前,半年前,一年前的日期,只要修改参数就可以实现得到任何一个天数。具体用法如下:
function
GetDateStr(AddDayCount) {
var
dd =
new
Date();
dd.setDate(dd.getDate()+AddDayCount);
//获取AddDayCount天后的日期
var
y = dd.getFullYear();
var
m = (dd.getMonth()+1)<10?
"0"
+(dd.getMonth()+1):(dd.getMonth()+1);
//获取当前月份的日期,不足10补0
var
d = dd.getDate()<10?
"0"
+dd.getDate():dd.getDate();
//获取当前几号,不足10补0
return
y+
"-"
+m+
"-"
+d;
}
console.log(
"半年前:"
+GetDateStr(-180));
console.log(
"三月前:"
+GetDateStr(-90));
console.log(
"一月前:"
+GetDateStr(-30));
console.log(
"一周前:"
+GetDateStr(-7));
console.log(
"昨天:"
+GetDateStr(-1));
console.log(
"今天:"
+GetDateStr(0));
console.log(
"明天:"
+GetDateStr(1));
console.log(
"后天:"
+GetDateStr(2));
console.log(
"一月后:"
+GetDateStr(30));
console.log(
"三月后:"
+GetDateStr(90));
console.log(
"半年后:"
+GetDateStr(180));
例如:今天是2018-11-28
GetDateStr(-7)得到的是 2018-11-21;
获取当前时间,并转化为秒;并且指定传入一个时间,转化为秒
function timeTrans(times) {
if (times) {//传入指定时间(例:2018-11-21),并转化为秒
var date = new Date(Date.parse(times.replace(/-/g, "/")));
date = date.getTime();
var time_sec = Math.floor(Math.floor(date / 1000));
} else {//获取当前时间,并转化为秒
var time = new Date().getTime();
var time_sec = Math.floor(Math.floor(time / 1000));
}return time_sec;
};
插入一个js的 setHours()方法的使用:
定义和用法
setHours() 方法用于设置指定的时间的小时字段。
语法
dateObject.setHours(hour,min,sec,millisec)
参数 | 描述 |
---|---|
hour | 必需。表示小时的数值,介于 0(午夜) ~ 23(晚上11点) 之间,以本地时间计(下同)。 |
min | 可选。表示分钟的数值,介于 0 ~ 59 之间。在 EMCAScript 标准化之前,不支持该参数。 |
sec | 可选。表示秒的数值,介于 0 ~ 59 之间。在 EMCAScript 标准化之前,不支持该参数。 |
millisec | 可选。表示毫秒的数值,介于 0 ~ 999之间。在 EMCAScript 标准化之前,不支持该参数。 |
返回值
调整过的日期的毫秒表示。在 ECMAScript 标准化之前,该方法什么都不返回。
例如:
new Date(new Date().setHours(0, 0, 0, 0))
//输出 Thu Apr 11 2019 00:00:00 GMT+0800 (中国标准时间)
new Date(new Date().setHours(23, 59, 59, 59))
//输出 Thu Apr 11 2019 23:59:59 GMT+0800 (中国标准时间)
这种方法可以拿到当天时间的0点和24点,用于处理一些时间比较时的需求
当需要进行时间对比时,可以把拿到的时间转化为时间搓来进行对比,如下:
new Date(new Date().setHours(0, 0, 0, 0)).getTime();
//输出 1554912000000
这样就可以进行时间的对比了,可以拿到一个指定时间和这一天的开始时间,和结束时间作对比