如何获得上周的星期一日期和前一周的星期五日期?

时间:2018-08-06 06:30:36

标签: coldfusion coldfusion-9 coldfusion-11 coldfusion-2016

我正在使用ColdFusion2016。需要什么代码才能获得上周的上一个星期一和前一周的上一个星期五?

下面的代码获取上一个星期一,但我希望在上一个周中使用上一个星期一。星期五也一样。

<cfset currentDate = Now() /> 
<cfset mostRecentMonday = dayOfWeek(currentDate) gt 1 ? dateAdd("d", 2- 
 dayOfWeek(currentDate), currentDate) : dateAdd("d", -6, currentDate) />

2 个答案:

答案 0 :(得分:4)

您只需要简化您的解决方案即可。

<cfset currentDate = Now() /> 
<cfset obj = {}>
<cfset todaydayOfWeek = dayOfWeek(currentDate)>
<cfset mondayOffset = (2-todaydayOfWeek)-7>
<cfset fridayOffset = (6-todaydayOfWeek)-7>
<cfset obj.mostRecentMonday = dateAdd("d", mondayOffset, currentDate)>
<cfset obj.mostRecentFriday = dateAdd("d", fridayOffset, currentDate)>
<cfdump var="#obj#">

DEMO

答案 1 :(得分:0)

您可以在上周五得到

<cfset today=dayofweek(now())>
<span>Last Friday is:</span>
<cfif today eq 7>
    <span>#dateformat(dateAdd("d",-1,now()))#</span>
<cfelse>
    <span>#dateformat(dateAdd ("d",-(1+today),now()))#</span>
</cfif>

上周一:

<cfif today eq 7>
   <span>#dateformat(dateAdd("d",-5,now()))#</span>
<cfelse>
   <span>#dateformat(dateAdd ("d",-(5+today),now()))#</span><br>
</cfif>

@ user1669296,请确保您的上周一也返回了错误的值。如果您运行该代码,则今天(2018年9月6日)是星期一,它将仅在上星期一返回今天的日期。因此,请更正它。