时间控制

帆软10

微信图片_20230405134335.png

一个填报模板,日期控制现在时间可选范围为当天及往前14天这段时间。

需求:如果跨月,月初的第一天以后:比如到4月1日中午12点后,时间范围不能选上个月的日期,这怎么实现。

FineReport ysbin 发布于 2023-4-5 13:46 (编辑于 2023-4-5 13:51)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
CD20160914Lv8专家互助
发布于2023-4-5 13:57(编辑于 2023-4-5 15:21)

那今天是5号,如果14天前就是3月份了,那么不能是3月份的日期?只要4-1?

if(day(today())<15,DATEINMONTH(TODAY(),1),DATEDELTA(TODAY(),-14))

image.png

修改后的公式:

if(day(TODAY())<12,DATEDELTA(TODAY(),-14),if(day(TODAY())=12&&HOUR(now())<=12,DATEDELTA(TODAY(),-14),DATEINMONTH(TODAY(),1)))

  • ysbin ysbin(提问者) 是的,
    2023-04-05 13:59 
  • CD20160914 CD20160914 回复 ysbin(提问者) 上面公式你看一下。你直接复制用
    2023-04-05 14:00 
  • ysbin ysbin(提问者) 回复 CD20160914 感谢,如果还要加个时间,这能实现吗?比如1日12号之后限制,12点之前还可以选
    2023-04-05 14:42 
  • CD20160914 CD20160914 回复 ysbin(提问者) 什么意思,没有听懂,自己模拟一个结果出来吧,12号限制什么
    2023-04-05 14:47 
  • ysbin ysbin(提问者) 回复 CD20160914 打错一个字,是12点,比如1日12点之前还是能选往前14天的日期,12点之后,只有选1日了
    2023-04-05 15:15 
最佳回答
0
XushuaisLv6初级互助
发布于2023-4-5 13:59(编辑于 2023-4-5 14:16)

先使用DATEDIF() 公式判断是否跨月,如果是跨月,就选择月初,不跨月就是14天前的日期

if(DATEDIF(today(),DATEDELTA(today(),-14),'M')>0,dateinmonth(today(),1),DATEDELTA(today(),-14))

  • ysbin ysbin(提问者) 可以写下公式么,多谢。
    2023-04-05 14:12 
  • Xushuais Xushuais 回复 ysbin(提问者) if(DATEDIF(today(),DATEDELTA(today(),-14),\'M\')>0,dateinmonth(today(),1),DATEDELTA(today(),-14))
    2023-04-05 14:12 
  • ysbin ysbin(提问者) 回复 Xushuais 有没有办法能实现比如跨月了,4月1日 中午12点,这个12点后能不能选择3月份了,12点前可以呢
    2023-04-05 14:32 
  • 2关注人数
  • 321浏览人数
  • 最后回答于:2023-4-5 15:21
    请选择关闭问题的原因
    确定 取消
    返回顶部