日期组件如何获取本周一对应的日期

2868
0

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)))#>




最近看过此主题的会员

chenzyd

doubao

liwm

957

淑离

esen_4ZJ8RP7VB1

esen_4WEAZSTVEF

qwz

zly_2960

15521158376

esen_4Y3L5ADO80

0个回答

只看楼主

登录后可回答问题,请登录注册

快速回复 返回顶部 返回列表

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

400咨询:400-0011-866

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

版权所有© 2006-2024 北京亿信华辰软件有限责任公司 京ICP备07017321号 京公网安备11010802016281号