Sql 查询当天、本周、本月记录、上周、上月记录

查询当天:

select * from info where DateDiff(dd,datetime,getdate())=0  

查询24小时内:

select * from info where DateDiff(hh,datetime,getDate())<=24  

查询当天:

select * from table where DateDiff(dd,datetime,getdate())=0 

本月记录 :

SELECT * FROM 表 WHERE datediff(month,[dateadd],getdate())=0  

 

本周记录 :

SELECT * FROM 表 WHERE datediff(week,[dateadd],getdate())=0   

上月记录:

SELECT * FROM 表 WHERE datediff(month,[dateadd],getdate())=1

上周记录 :

SELECT * FROM 表 WHERE datediff(week,[dateadd],getdate())=1

当前系统日期、时间

select getdate()   

dateadd   在向指定日期加上一段时间的基础上,返回新的 datetime 值
    例如:向日期加上2天

  1. select dateadd(day,2,'2004-10-15')   --返回:2004-10-17 00:00:00.000  

datediff 返回跨两个指定日期的日期和时间边界数。

  1. select datediff(day,'2004-09-01','2004-09-18')    --返回:17  

datepart 返回代表指定日期的指定日期部分的整数。

  1. SELECT DATEPART(month, '2004-10-15')   --返回 10  

datename 返回代表指定日期的指定日期部分的字符串

  1. SELECT datename(weekday, '2004-10-15')   --返回:星期五  

 

时间转换

var datetime="2021-03-22T13:22:44.678Z"; 

datetime..replace(/T/g, ' ').replace(/\.[\d]*Z/, '')
返回  2021-03-22  13:22:44
 
 

formatNumber2(n) {
n = n.toString()
return n[1] ? n : '0' + n
},
formatTime2(date) {
var year = date.getFullYear()
var month = date.getMonth() + 1
var day = date.getDate()
var hour = date.getHours()
var minute = date.getMinutes()
var second = date.getSeconds()
return [year, month, day].map(this.formatNumber2).join('-') + ' ' + [hour, minute, second].map(this.formatNumber2).join(
':')
},
dataToday(data) {
if (data == null) {
return "未知";
}
data=data.replace(/T/g, ' ').replace(/\.[\d]*Z/, '');
// 时间处理 主要根据当前时间的凌晨和当前时间周一的凌晨 做判断依据 (时间都转化成时间戳好计算,自认为)
var time = this.formatTime2(new Date());
let date = time.replace(/\//g, "-")
var date1 = new Date(date) // 现在的时间
var lc = new Date().setHours(0, 0, 0, 0) // 当前时间的凌晨的时间戳
console.log("当前时间的凌晨的时间戳 =>", lc)
var nowlc = new Date(lc);
var nowTime = nowlc.getTime();
var day = nowlc.getDay();
var oneDay = 24 * 60 * 60 * 1000;
var Monday = nowTime - (day - 1) * oneDay;
var monday = new Date(Monday);
var mondaytamp = Number(monday); //当前时间周一凌晨的时间戳
console.log("当前时间周一凌晨的时间戳 =>", mondaytamp) //
var date2 = new Date(data)
var timetamp = Number(new Date(data)); // 转化从时间戳
console.log("后台获取的要处理的时间的时间戳 =>", timetamp)
let d = ((lc - date2) / 1000) // 两个时间相差的秒数
// console.log(d)
if (d > 0) {
var min = (d / 60).toFixed(0)
var h = (min / 60).toFixed(0)
// console.log(h)
if (h <= 24) {
data = "昨天"
} else if (h <= 48) {
data = "前天"
} else if (h > 48) {
let d = timetamp - mondaytamp
if (d >= 0) {
var l = ["日", "一", "二", "三", "四", "五", "六"];
let z = date2.getDay()
data = "周" + l[z]
} else if (d < 0) {
let y = date2.getFullYear()
let m = date2.getMonth()
let d = date2.getDate()
data = y + "年" + (m + 1) + "月" + d + "日"
}
}
} else {
// 当时时间段 时分
let h = date2.getHours()
let m = date2.getMinutes()
data = h + ":" + m
}
return data;
}

 

posted on 2019-04-02 10:17  IT小白鸽  阅读(2503)  评论(0编辑  收藏  举报

导航