我需要确定如果设定的日期,包含两个不同的星期。

例如:

在返回设置的记录,从一个数据库,包含一个日期,有需要的东西之间的区别不同的星期。

<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会是两三天,从来七人。

有几种方法来解决这个问题。如果你明确你的目的,我们也许能够帮助你更好。例如,什么是新的一周定义?周六/周日午夜?因为在查询中的第一次约会?什么是你想显示?

检查出来的 天的周的功能

查看功能:从日期/时间对象,确定周年内数目。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top