如果确定一个新的周在coldfusion
-
16-09-2019 - |
题
我需要确定如果设定的日期,包含两个不同的星期。
例如:
在返回设置的记录,从一个数据库,包含一个日期,有需要的东西之间的区别不同的星期。
<cfloop query="datesExample">
<cfif DateDiff("d",DateFormat(lastDate),DateFormat(OriginalDate)) GTE 7>
<hr />
</cfif>
<p>#OrginalDate#</p>
<cfset lastDate = DateFormat(OrginalDate) />
</cfloop>
对我来说,这似乎是所有的逻辑,我需要加以确定,如果有一个新的星期。
尽管我没有得到任何结果,从这一点。
任何人都有一个想法?
更新:
这是我的现实,如果声明:
<cfif DayofWeek(lastShiftDate) NEQ DayOfWeek(Time_In) AND DateDiff("d",lastShiftDate, Time_In) GTE 7>
解决方案 6
这是比我想象的要简单的多。我所要做的就是让初次约会的价值。所以,<cfif query.RecordCount EQ 1><cfset firstDate = Now() /></cfif>
然后做一个DATEDIFF()与lastShiftDate
感谢大家的帮助。
其他提示
我会QueryAddColumn通过添加额外的列到您的查询,然后循环结束,并设置一周的开始为查询中的每个记录。是这样的:
<cfset datesExample = QueryNew("lastshiftdate", "date") />
<cfset QueryAddRow(datesExample) />
<cfset QuerySetCell(datesExample, "lastshiftdate", "2009-01-15") />
<cfset QueryAddRow(datesExample) />
<cfset QuerySetCell(datesExample, "lastshiftdate", "2009-01-20") />
<cfset QueryAddColumn(datesExample, "StartofWeek", "time", ArrayNew(1)) />
<cfloop query="datesExample">
<cfset QuerySetCell(datesExample, "StartofWeek", DateAdd("d", -(DayOfWeek(lastshiftdate) - 1), lastshiftdate), CurrentRow) />
</cfloop>
<cfdump var="#datesExample#">
然后,当你使用CFOUTPUT,可以只是组由StartofWeek柱而不做所有高飞条件逻辑的。
丹
当dateA的星期几比dateB的星期几的不同,它们的则DateDiff大于7?
然后dateA和dateB在不同的周?
您提供的代码中有几个语法错误。如果您从您的源复制它,你可以尝试关闭任何错误捕获是保持你看到的错误。
首先,为了解决语法: 您CFIF未关闭。日期格式()有两个参数 - Date对象和日期掩码。如果这不是在CFOUTPUT块,你只显示文字#OrginalDate#。
要解决的逻辑:
我假定OriginalDate是在查询返回的字段。
我不知道正是你正在尝试做的。您的代码将打印水平线,而不是随时日期有两个记录之间超过6天。但是,你绝不会只要日期靠得更近打印的水平线。所以,如果你在数据库中有过周一/周三/周五,你永远不会得到一个HR,因为DATEDIFF会是两三天,从来七人。
有几种方法来解决这个问题。如果你明确你的目的,我们也许能够帮助你更好。例如,什么是新的一周定义?周六/周日午夜?因为在查询中的第一次约会?什么是你想显示?
检查出来的 天的周的功能
查看周功能:从日期/时间对象,确定周年内数目。