【问题标题】:How can I get the Monday's date of the previous week and Friday's date of the previous week?如何获得前一周的星期一日期和前一周星期五的日期?
【发布时间】:2018-08-06 06:30:36
【问题描述】:

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

下面的代码获取前一个星期一,但我想要上一个周的前一个星期一。周五也一样。

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

【问题讨论】:

  • 最好先检查cflib.org。通常它要么具有工作功能,要么具有您可以适应的功能。示例:PrevOccOfDOW(day)&lt;cfset monday = prevOccOfDow(2)&gt;&lt;cfset friday = prevOccOfDow(6)&gt;.

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


【解决方案1】:

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

<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

【讨论】:

    【解决方案2】:

    你可以像上周五一样,

    <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 年 6 月 6 日)是星期一,如果您运行该代码,它将返回今天的日期,而不是上周一。所以也请指正。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-05
      • 2012-11-27
      • 2017-09-09
      • 2018-06-25
      • 1970-01-01
      • 1970-01-01
      • 2017-09-16
      • 1970-01-01
      相关资源
      最近更新 更多