-
-
leiz 小试身手Lv3
发表于2020-8-21 19:20
楼主
本帖最后由 leiz 于 2021-3-3 11:14 编辑
需求场景: 在报表开发时,可能会遇到这样的情况,需要知道本周一对应的日期具体是几月几号,这个时候就可以用到weekday函数以及od函数了。
关于od函数的介绍,之前已经有比较详细的帖子进行单独介绍了,还不会使用的小伙伴可以移步至对应的帖子中学习一下:od函数用法介绍
下面简单介绍一下weekday函数, weekday(d)函数可以返回指定日期为一周中的第几天,示例:用weekday函数求今天是周几,用weekday(today())即可取到今天是一周中的第几天
需求实现方法:
首先,通过<#=weekday(today())#>取到今天是一周中的第几天,比如今天是2021年03月03日,那么函数返回的就是4,即今天为本周的第四天,可以看出,函数取的本周第一天是从周日开始取的。
再用od函数做日期处理,即<#=od(left(today(),8),'d-'+asstr(weekday(today())-2))#>,这样就能取到周一对应的日期
但是存在一个特殊情况,因为前面说到了,weekday函数取的本周的第一天,是从周日开始计算的,所以当today()为周日的时候,取的本周一对应的日期就会是下周一的日期,为了避免出现这样的误差,需要完善一下表达式,用if表达式判断一下今天是否是周日,然后再进行取数,即<#=if(weekday(today())=1,od(today(),'d-6'),od(today(),'d-'+asstr(weekday(today())-2)))#>
需求场景: 在报表开发时,可能会遇到这样的情况,需要知道本周一对应的日期具体是几月几号,这个时候就可以用到weekday函数以及od函数了。
关于od函数的介绍,之前已经有比较详细的帖子进行单独介绍了,还不会使用的小伙伴可以移步至对应的帖子中学习一下:od函数用法介绍
下面简单介绍一下weekday函数, weekday(d)函数可以返回指定日期为一周中的第几天,示例:用weekday函数求今天是周几,用weekday(today())即可取到今天是一周中的第几天
需求实现方法:
首先,通过<#=weekday(today())#>取到今天是一周中的第几天,比如今天是2021年03月03日,那么函数返回的就是4,即今天为本周的第四天,可以看出,函数取的本周第一天是从周日开始取的。
再用od函数做日期处理,即<#=od(left(today(),8),'d-'+asstr(weekday(today())-2))#>,这样就能取到周一对应的日期


但是存在一个特殊情况,因为前面说到了,weekday函数取的本周的第一天,是从周日开始计算的,所以当today()为周日的时候,取的本周一对应的日期就会是下周一的日期,为了避免出现这样的误差,需要完善一下表达式,用if表达式判断一下今天是否是周日,然后再进行取数,即<#=if(weekday(today())=1,od(today(),'d-6'),od(today(),'d-'+asstr(weekday(today())-2)))#>

