vba 判断 某日是不是为本周(周一到周日)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vba 判断 某日是不是为本周(周一到周日)相关的知识,希望对你有一定的参考价值。

参考技术A Dim a As Date
a = InputBox("输入日期")
If Weekday(CDate(a), vbMonday) = 1 Then
MsgBox "日期是星期一"
End If追问

不是判断星期几,是判断是否为本周。
是这样的,excel里,A列全是日期,如果某个单元格的日期为本周的,日期显示红色,下周的显示蓝色。

追答

Dim a As Date
a = CDate("2015-8-23") '需要验证的日期
b = CDate(Date) + 3 '今天的日期
c = Weekday(CDate(b), vbMonday) ' 返回今天的日期星期几
d = b - c + 1 '那么本周周一日期
If d < a And a < d + 6 Then
MsgBox "在这周"
Else
MsgBox "不在这周"
End If
试试这个

参考技术B Weekday(Date, vbMonday)
后面那个monday是指从星期一开始数起,是第几天追问

不是判断星期几,是判断是否为本周。
是这样的,excel里,A列全是日期,如果某个单元格的日期为本周的,日期显示红色,下周的显示蓝色。

追答

别人帮你写了,那个就可以,通过与今天的差值来判定就行。

mysql日期时间处理

 

获得当前周的周一到周日

select subdate(curdate(),date_format(curdate(),\'%w\')-1)//获取当前日期在本周的周一
select subdate(curdate(),date_format(curdate(),\'%w\')-7)//获取当前日期在本周的周日

 

数据库字段为int 那样where条件这样写:

FROM_UNIXTIME(a.visit_time, \'%Y-%m-%d\') = subdate(
curdate(),
date_format(curdate(), \'%w\') - 7

-- 当天


where to_days(时间字段名) = to_days(now());
-- 本周

SELECT * FROM  表名 WHERE YEARWEEK(date_format(时间字段,\'%Y-%m-%d\')) = YEARWEEK(now());


-- 最近7天


SELECT * FROM  表名  where date_sub(curdate(), INTERVAL 7 DAY) <= date (时间字段);


-- 本月


SELECT * FROM  表名 where date_format(时间字段, \'%Y%m\') = date_format(curdate() , \'%Y%m\');


-- 最近30天


SELECT * FROM  表名 WHERE date_sub(curdate(), INTERVAL 30 DAY) <= date(时间字段);


-- 上一月



SELECT * FROM 表名 WHERE PERIOD_DIFF( date_format( now( ) , \'%Y%m\' ) , date_format( 时间字段名, \'%Y%m\' ) ) =1

-- 本季度

SELECT * FROM 表名  WHERE QUARTER(create_date)=QUARTER(now());
 

查询上季度数据


=QUARTER(DATE_SUB(now(),interval 1 QUARTER));

查询本年数据


 YEAR(create_date)=YEAR(NOW());

查询上年数据


 year(create_date)=year(date_sub(now(),interval 1 year));
 

查询上周的数据


 YEARWEEK(date_format(submittime,\'%Y-%m-%d\')) = YEARWEEK(now())-1;

查询上个月的数据


复制代码
 
 date_format(submittime,\'%Y-%m\')=date_format(DATE_SUB(curdate(), INTERVAL 1 MONTH),\'%Y-%m\')

 DATE_FORMAT(pudate,\'%Y%m\') = DATE_FORMAT(CURDATE(),\'%Y%m\') ; 
 WEEKOFYEAR(FROM_UNIXTIME(pudate,\'%y-%m-%d\')) = WEEKOFYEAR(now()) 

MONTH(FROM_UNIXTIME(pudate,\'%y-%m-%d\')) = MONTH(now()) 

 YEAR(FROM_UNIXTIME(pudate,\'%y-%m-%d\')) = YEAR(now()) and MONTH(FROM_UNIXTIME(pudate,\'%y-%m-%d\')) = MONTH(now()) 

between  上月最后一天  and 下月第一天 
 
复制代码
 

查询距离当前现在6个月的数据


 submittime between date_sub(now(),interval 6 month) and now();
 转载自:https://www.cnblogs.com/zuochuang/p/7985890.html
 
 

以上是关于vba 判断 某日是不是为本周(周一到周日)的主要内容,如果未能解决你的问题,请参考以下文章

php一行代码获取本周一,本周日,上周一,上周日,本月一日,本月最后一日,上月一日,上月最后一日日期 转

javascript获取当天日期,计算出该天所属周,列出本周从周一至周日的所有日期,求大神帮助!

jsphp本周第一天和本周最后一天

java获取本周 上周的所有日期

如何重置周日晚上 11:59(周一开始前的时间)从数据库中获取的记录

本周入上周时间计算