2

以下のコードは、今月の週末の日付を出力します。

コード:

<cfparam name="month" default="#DatePart('m', Now())#">
<cfparam name="year" default="#DatePart('yyyy', Now())#">

<cfset ThisMonthYear=CreateDate(year, month, '1')>
<cfset Days=DaysInMonth(ThisMonthYear)>

<cfset ThisDay = 1>
<cfloop condition="ThisDay LTE Days">
    <cfset presentDay = CreateDate(year, month, thisday)>
    <cfif DayOfWeek(presentDay) EQ '7'>
        <cfoutput>#ThisDay#</cfoutput>
    <cfelseif DayOfWeek(presentDay) EQ '1'>
        <cfoutput>#ThisDay#</cfoutput>
    </cfif>
    <cfset ThisDay = ThisDay + 1>
</cfloop>

出力:
6 7 13 14 20 21 27 28

私が試みているのは、この cfloop の値を 1 つの変数に渡すことです。以下のコードは、最後の週末の日付の値のみを表示します。

コード:

<cfset ThisDay = 1>
<cfset weekDayOfMonth = "">
<cfloop condition="ThisDay LTE Days">
    <cfset presentDay = CreateDate(year, month, thisday)>
    <cfif DayOfWeek(presentDay) EQ '7'>
        <cfset weekDayOfMonth = ThisDay>
    <cfelseif DayOfWeek(presentDay) EQ '1'>
        <cfset weekDayOfMonth = ThisDay>
    </cfif>
    <cfset ThisDay = ThisDay + 1>
</cfloop>
<cfoutput>#weekDayOfMonth#</cfoutput>

OUTPUT
28質問、変数

にループ値を渡すには、最後の cfloop コードで何を修正する必要がありますか?jsWeekendDates

どんな助けでも大歓迎です。
ありがとうございました。

4

1 に答える 1

2

自分で考えただけです。楽しみ。

<cfset ThisDay = 1>
<cfset weekDay = "">
<cfloop condition='ThisDay LTE Days'>
    <cfset presentDay = CreateDate(year, month, thisday)>
    <cfif DayOfWeek(presentDay) EQ '1' OR DayOfWeek(presentDay) EQ '7'>
        <cfset weekDay = weekDay & " " & ThisDay">
    </cfif>
    <cfset ThisDay = ThisDay + 1>
</cfloop>
<cfoutput>#weekDay#</cfoutput>
于 2013-04-18T21:17:53.043 に答える