知道具体日期,通过公式,获得相对应的年周

image.png

知道具体的日期,怎么在文本框中书写公式,从而获取日期所对应的年周,上述中文本框中的年周不是用公式得到的

FineReport king1314 发布于 2020-3-3 21:23
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
L大大Lv7高级互助
发布于2020-3-3 23:16

我个人可用的方法是根据数据库来判断的,我这边SQLSERVER的,可自行判断跨年周次

可配合使用

--公式

可使用年份进行拼接,SQL("","")

--语法(语法对应修改周次从周一至周日为一周,对应写好的还有一个mysql的,)

SELECT

CASE WHEN DATEPART(WEEKDAY,GETDATE()) IN (2,3,4,5,6,7) AND DATEPART(WEEKDAY,DATENAME(YEAR,GETDATE())+'-01-01')=1 THEN DATEPART(WEEK,GETDATE())+1

WHEN DATEPART(WEEKDAY,GETDATE())=1 AND DATEPART(WEEKDAY,DATENAME(YEAR,GETDATE())+'-01-01')=1 THEN DATEPART(WEEK,GETDATE())

WHEN DATEPART(WEEKDAY,GETDATE()) IN (2,3,4,5,6,7) THEN DATEPART(WEEK,GETDATE())

ELSE DATEPART(WEEK,GETDATE())-1 END AS WEEK


  • king1314 king1314(提问者) 你这种方式可以,但是我觉得可以直接写sql语句,然后对参数进行拼接
    2020-03-05 17:46 
  • king1314 king1314(提问者) 你这种方式可以,但是我觉得可以直接写sql语句,然后对参数进行拼接
    2020-03-05 17:46 
  • L大大 L大大 回复 king1314(提问者) 我这种是会对跨年的周次做判断
    2020-03-05 17:48 
  • king1314 king1314(提问者) 回复 L大大 对 ,你这种可以,,直接写sql用拼接的方式也可以 ,其实是一样的解决方式,只是我完全是用sql语句写的
    2020-03-05 17:51 
  • king1314 king1314(提问者) 回复 L大大 对 ,你这种可以,,直接写sql用拼接的方式也可以 ,其实是一样的解决方式,只是我完全是用sql语句写的
    2020-03-05 17:51 
最佳回答
0
孤陌Lv6资深互助
发布于2020-3-3 21:23(编辑于 2020-3-3 22:27)

WEEK() 这个公式


if(WEEK($ks)=52||WEEK($ks)=51,mid(dateInWeek($ks,1),1,4)+"年"+WEEK($ks)+"周",mid(dateInWeek($ks,-1),1,4)+"年"+WEEK($ks)+"周")


image.png

image.png

  • king1314 king1314(提问者) 我知道是用week(),我不知道怎么用 ,不知道在()里面怎么写
    2020-03-03 21:39 
  • king1314 king1314(提问者) 我知道是用week(),我不知道怎么用 ,不知道在()里面怎么写
    2020-03-03 21:39 
  • 孤陌 孤陌 回复 king1314(提问者) mid($rq,1,4)+\"年\"+WEEK($rq)+\"周\" 在你后面那个控件 的控件值里的公式写这个公式 rq是你前面选的日期控件名称
    2020-03-03 21:46 
  • king1314 king1314(提问者) 回复 孤陌 不可以的,当选择2020年的两个时间时,数据为空,你这个公式我试过了 不行
    2020-03-03 22:07 
  • king1314 king1314(提问者) 回复 孤陌 不可以的,当选择2020年的两个时间时,数据为空,你这个公式我试过了 不行
    2020-03-03 22:07 
  • 3关注人数
  • 590浏览人数
  • 最后回答于:2020-3-3 23:16
    请选择关闭问题的原因
    确定 取消
    返回顶部