【发布时间】:2012-08-07 01:34:27
【问题描述】:
我有一个看起来很简单的日期问题,但我无法全神贯注地尝试有效地解决它...我基本上需要获取特定日期的前几个月日期。
例如:如果今天是本月的第三个星期四,我想获取上个月的第三个星期四的日期。重要的是它基于当天的数字......即:第一个星期一,第四个星期五,第二个星期三等。
完成这项工作的最佳方法是什么?
顺便说一句...如果前几个月没有相同的日期,那也没关系。我可以处理。另外,目前我正在手动计算数字或天数(“星期一”、“星期二”等)来解决这个问题。我只是希望有一种更优雅的方式来做到这一点。
【问题讨论】:
-
那么当没有一个时会发生什么?本月可能有第四个星期五,但上个月没有第四个星期五。另外,如果您担心这一天,上个月只有 30 天(或 29/28)的 31 号会发生什么?
-
到目前为止你尝试过什么?即使您逐一计算,您甚至不会注意到该算法会消耗任何 CPU 时间,因此无需担心效率性能。
-
@DJKraze,是的,我已经与谷歌核实过,但在这种情况下我找不到任何有用的东西。我可以通过计算天数来完成这项工作(即:计算星期一之前的星期一),但我觉得有更好的方法来做到这一点。
-
@Erik 我想你的意思是
there might not be a FIFTH day of last month。每个月都会有第四天,因为每个月至少有 28 天 =) -
@saluce 是的,我就是这个意思!