• 发帖数34
  • 粉丝1

此人很懒,什么也没有留下

  • 解答问题超厉害

    经常帮助其他会员答疑

[常用脚本] 日期函数

yh_zqv0zhME白银三 显示全部楼层 发表于 2024-5-23 15:18:45 |阅读模式 打印 上一主题 下一主题
1
未解决

【常用脚本】 日期函数

429 8
取上周四到本周五的开始时间,和结束时间例如今天周四,那开始时间为上上周五,结束时间为上周四
回复

使用道具 举报

精彩评论8

yhdata_lyaa 显示全部楼层 发表于 2024-5-23 15:36:50
本周五的开始时间?为什么是上上周五
回复

使用道具 举报

yh_zqv0zhME白银三 显示全部楼层 发表于 2024-5-24 09:29:21
yhdata_lyaa 发表于 2024-5-23 15:36
本周五的开始时间?为什么是上上周五

本周五的开始时间,就是上周五,结束时间本周四
回复

使用道具 举报

yhdata_lyaa 显示全部楼层 发表于 2024-5-24 10:05:18
yh_zqv0zhME 发表于 2024-5-24 09:29
本周五的开始时间,就是上周五,结束时间本周四

你可以参考看看这个帖子
https://club.yonghongtech.com/thread-70252-1-1.html使用这个函数

回复

使用道具 举报

美滋滋皇冠三 显示全部楼层 发表于 2024-5-24 10:37:57
本帖最后由 美滋滋 于 2024-5-24 10:41 编辑

我总结一下,楼主的意思是,每周以周五为开始日,周四为结束日,根据这个规则,楼主是想要当前日期对应的上一周的开始和结束日期,是这样吧?
举例来说,比如今天是 2024年5月24日(周五),那么楼主想要的开始日是 2024/5/17日,结束日是2024/5/23日。
如果今天是 2024年5月23日(周四),那么楼主想要的开始日是 2024/5/10日,结束日是2024/5/16日。


回复

使用道具 举报

yh_zqv0zhME白银三 显示全部楼层 发表于 2024-5-24 14:22:30
美滋滋 发表于 2024-5-24 10:37
我总结一下,楼主的意思是,每周以周五为开始日,周四为结束日,根据这个规则,楼主是想要当前日期对应的上 ...

精准总结,点赞
回复

使用道具 举报

美滋滋皇冠三 显示全部楼层 发表于 2024-5-24 14:59:20
给你两套代码,分别以当日为基准日,以日期文本参数组件设定的日期为基准日
// 下面是以当天日期为例,计算得出对应的开始日和结束日
if (weekday(now(),2) == 1) {
    debug("开始日:" + formatDate(dateAdd(now(),"dayofyear",-10),"yyyy-MM-dd"))
    debug("结束日:" + formatDate(dateAdd(now(),"dayofyear",-4),"yyyy-MM-dd"))
}
if (weekday(now(),2) == 2) {
    debug("开始日:" + formatDate(dateAdd(now(),"dayofyear",-11),"yyyy-MM-dd"))
    debug("结束日:" + formatDate(dateAdd(now(),"dayofyear",-5),"yyyy-MM-dd"))
}
if (weekday(now(),2) == 3) {
    debug("开始日:" + formatDate(dateAdd(now(),"dayofyear",-12),"yyyy-MM-dd"))
    debug("结束日:" + formatDate(dateAdd(now(),"dayofyear",-6),"yyyy-MM-dd"))
}
if (weekday(now(),2) == 4) {
    debug("开始日:" + formatDate(dateAdd(now(),"dayofyear",-13),"yyyy-MM-dd"))
    debug("结束日:" + formatDate(dateAdd(now(),"dayofyear",-7),"yyyy-MM-dd"))
}
if (weekday(now(),2) == 5) {
    debug("开始日:" + formatDate(dateAdd(now(),"dayofyear",-7),"yyyy-MM-dd"))
    debug("结束日:" + formatDate(dateAdd(now(),"dayofyear",-1),"yyyy-MM-dd"))
}
if (weekday(now(),2) == 6) {
    debug("开始日:" + formatDate(dateAdd(now(),"dayofyear",-8),"yyyy-MM-dd"))
    debug("结束日:" + formatDate(dateAdd(now(),"dayofyear",-2),"yyyy-MM-dd"))
}
if (weekday(now(),2) == 7) {
    debug("开始日:" + formatDate(dateAdd(now(),"dayofyear",-9),"yyyy-MM-dd"))
    debug("结束日:" + formatDate(dateAdd(now(),"dayofyear",-3),"yyyy-MM-dd"))
}
// 以文本参数1的日期为例,计算文本参数组建中设置的任何日期对应的开始日和结束日
var a = 文本参数1.value
if (weekday(parseDate(a,"yyyy-MM-dd"),2) == 1) {
    debug("开始日:" + formatDate(dateAdd(parseDate(a,"yyyy-MM-dd"),"dayofyear",-10),"yyyy-MM-dd"))
    debug("结束日:" + formatDate(dateAdd(parseDate(a,"yyyy-MM-dd"),"dayofyear",-4),"yyyy-MM-dd"))
}
if (weekday(parseDate(a,"yyyy-MM-dd"),2) == 2) {
    debug("开始日:" + formatDate(dateAdd(parseDate(a,"yyyy-MM-dd"),"dayofyear",-11),"yyyy-MM-dd"))
    debug("结束日:" + formatDate(dateAdd(parseDate(a,"yyyy-MM-dd"),"dayofyear",-5),"yyyy-MM-dd"))
}
if (weekday(parseDate(a,"yyyy-MM-dd"),2) == 3) {
    debug("开始日:" + formatDate(dateAdd(parseDate(a,"yyyy-MM-dd"),"dayofyear",-12),"yyyy-MM-dd"))
    debug("结束日:" + formatDate(dateAdd(parseDate(a,"yyyy-MM-dd"),"dayofyear",-6),"yyyy-MM-dd"))
}
if (weekday(parseDate(a,"yyyy-MM-dd"),2) == 4) {
    debug("开始日:" + formatDate(dateAdd(parseDate(a,"yyyy-MM-dd"),"dayofyear",-13),"yyyy-MM-dd"))
    debug("结束日:" + formatDate(dateAdd(parseDate(a,"yyyy-MM-dd"),"dayofyear",-7),"yyyy-MM-dd"))
}
if (weekday(parseDate(a,"yyyy-MM-dd"),2) == 5) {
    debug("开始日:" + formatDate(dateAdd(parseDate(a,"yyyy-MM-dd"),"dayofyear",-7),"yyyy-MM-dd"))
    debug("结束日:" + formatDate(dateAdd(parseDate(a,"yyyy-MM-dd"),"dayofyear",-1),"yyyy-MM-dd"))
}
if (weekday(parseDate(a,"yyyy-MM-dd"),2) == 6) {
    debug("开始日:" + formatDate(dateAdd(parseDate(a,"yyyy-MM-dd"),"dayofyear",-8),"yyyy-MM-dd"))
    debug("结束日:" + formatDate(dateAdd(parseDate(a,"yyyy-MM-dd"),"dayofyear",-2),"yyyy-MM-dd"))
}
if (weekday(parseDate(a,"yyyy-MM-dd"),2) == 7) {
    debug("开始日:" + formatDate(dateAdd(parseDate(a,"yyyy-MM-dd"),"dayofyear",-9),"yyyy-MM-dd"))
    debug("结束日:" + formatDate(dateAdd(parseDate(a,"yyyy-MM-dd"),"dayofyear",-3),"yyyy-MM-dd"))
}
回复

使用道具 举报

美滋滋皇冠三 显示全部楼层 发表于 2024-5-24 15:20:36
啊,经过另外一个帖子,想起来有dateTrunc函数,用这个函数就更简单了,具体参考下面代码
//开始日
var dateStart = formatDate(dateAdd(dateTrunc('week',now(),"Friday"),"dayofyear",-7),"yyyy-MM-dd")
//结束日
var dateEnd = formatDate(dateAdd(dateTrunc('week',now(),"Friday"),"dayofyear",-1),"yyyy-MM-dd")
debug("开始日:" + dateStart);
debug("结束日:" + dateEnd);
回复

使用道具 举报

yh_zqv0zhME白银三 显示全部楼层 发表于 2024-5-24 16:05:26
美滋滋 发表于 2024-5-24 15:20
啊,经过另外一个帖子,想起来有dateTrunc函数,用这个函数就更简单了,具体参考下面代码
//开始日
var dat ...

谢谢大佬
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
50W

会员等你来哦

Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |联系社区管理员|《永洪社区协议》
返回顶部