计算一周中某一天的日期

发布于 2024-07-08 15:02:51 字数 147 浏览 15 评论 0原文

给定一个工作日 (1-7),我如何计算该工作日的最后一个日期是什么?

示例:今天是 2008 年 11 月 12 日星期三,我想知道上一个星期五的日期是什么。

Given a week-day (1-7), how can I calculate what that week-day's last date was?

Example: Today is Wednesday, 2008/11/12, and I want to know what last Friday's date was.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

内心激荡 2024-07-15 15:02:51

一般来说? 请参阅日历计算

在前一周内这个较小的情况下? 求天数差(星期五 = 5,星期三 = 3)。 找出周内的差异(上周 = -7 天)。 当您找到天+周的偏移量后,将该偏移量应用于日历日期。

In general? See Calendrical Calculations.

In this narrower case of within the previous week? Find the difference in days (Friday = 5, Wednesday = 3). Find differences in weeks (last week = -7 days). When you've found the offset in days+weeks, apply that offset to the calendar date.

陌路终见情 2024-07-15 15:02:51

如果今天是一周中的当前日期,那么您可以使用类似的内容:

days_since_friday = (((today - 1) + 7) - (6 - 1)) % 7

假设星期五由一周中的第 6 天表示(即 1 表示星期日)。 然后从当前日期减去 days_since_friday,您将得到上周结束的日期。

上面的表达式比需要的稍微复杂一些。 如果星期几从周日的 0 点开始,则可简化为:

days_since_friday = ((today + 7) - 5) % 7

days_since_friday = (today + 2) % 7

If today is the current day of the week, then you can use something like:

days_since_friday = (((today - 1) + 7) - (6 - 1)) % 7

This assumes that Friday is represented by day number 6 of the week (that is, 1 represents Sunday). Then subtract days_since_friday from the current date, and you'll get the date of the end of last week.

The above expression is slightly more complicated than it needs to be. If your day-of-week started at 0 for Sunday, it simplifies to:

days_since_friday = ((today + 7) - 5) % 7

or

days_since_friday = (today + 2) % 7
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文