如何查找最近过去的星期一?
我正在使用 ColdFusion 9.0.1。
我每周一午夜都会举办一场比赛。我需要使用 ColdFusion(但我确信其他语言的逻辑是相同的)来查找最近星期一的日期。一旦确定了该日期,我就会将该日期放入 SQL 语句中以获取当前排名和过去的结果。
那么,我需要什么函数来查找最近过去的星期一呢?
回答
Dates = structNew();
Dates.CurrentDay = dateFormat(now(), "yyyy-mm-dd");
// LOOP MAX OF SEVEN TIMES
for (i = 1; i lte 7; i++) {
// IF CURRENT DAY OF WEEK IS MONDAY SET AND BREAK
if (dayOfWeek(Dates.CurrentDay) == 2) {
Dates.BikeOfTheWeekDate = Dates.CurrentDay;
break;
// IF CURRENT DAY OF WEEK IS NOT MONDAY SUBTRACT DAY
} else {
Dates.CurrentDay = dateAdd("d", -1, Dates.CurrentDay);
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您也可以从 2 中减去当前星期几(即星期一)
You could also just deduct the current day of week from 2 (ie Monday)
伪代码:
在 ColdFusion 中,使用
DateAdd("d", -1, date)
减去一天,并使用DayOfWeek(date)
检查周一,周一返回 2。Pseudocode:
In ColdFusion, substract one day with
DateAdd("d", -1, date)
and check for Monday withDayOfWeek(date)
which returns 2 for Monday.您还可以使用 java Calendar 类来完成此操作。
这是 ColdFusion 日期方法内部使用的。
http://docs.oracle.com/javase /1.5.0/docs/api/java/util/Calendar.html
http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Date.html
You can also do it using the java Calendar class.
Which is what the ColdFusion date methods use internally.
http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Calendar.html
http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Date.html