如何从一周的数字中获取日期

问题描述 投票:0回答:1

我是Spotfire的新手。我有一个问题,我想在文本区域中获得以下计算值:

第16周:2019年4月14日至21日

本周我需要在第17周到来时自动更改。

我想出了如何得到周数,但我不知道如何得到相应的一天。

我用下面的表达式得到“16”这是周数

week(DateTimeNow())

我无法弄清楚如何获得以下部分:2019年4月14日至21日

任何帮助都非常感谢。

spotfire
1个回答
1
投票

这不是非常简单,但如果您可以接受缩写的月份格式(如'Apr'而不是'April'),那么这将有效。我添加了一些额外的逻辑来处理跨越2个月的周(比如“第18周:4月28日 - 5月5日”)

case  when Month(DateAdd("day",-dayofweek(datetimenow()),datetimenow()))=Month(DateAdd("day",7 - dayofweek(datetimenow()),datetimenow())) then 
        Concatenate("Week #",Week(datetimenow()),": ",Month(datetimenow())," ",DayOfMonth(DateAdd("day",-dayofweek(datetimenow()),datetimenow())),"-",DayOfMonth(DateAdd("day",7 - dayofweek(datetimenow()),datetimenow())))
else 
    Concatenate("Week #",Week(datetimenow()),": ",Month(DateAdd("day",-dayofweek(datetimenow()),datetimenow()))," ",DayOfMonth(DateAdd("day",-dayofweek(datetimenow()),datetimenow())),"-",Month(DateAdd("day",7 - dayofweek(datetimenow()),datetimenow()))," ",DayOfMonth(DateAdd("day",7 - dayofweek(datetimenow()),datetimenow()))) 
end
© www.soinside.com 2019 - 2024. All rights reserved.