如何将周数转换为日期?
给定一个年份和日历周,如何获得该周的星期二作为日期?
Given a year and calendar week, how can I get the tuesday of that week as a date?
将年
和 cw
(calender week)作为变量(例如从SELECT语句)可以得到DATE如下:
Given you have year
and cw
(calender week) as variables (e.g. from a SELECT statement) you can get the DATE as following:
DATE_SUB(
DATE_ADD(MAKEDATE(year, 1), INTERVAL cw WEEK),
INTERVAL WEEKDAY(
DATE_ADD(MAKEDATE(year, 1), INTERVAL cw WEEK)
) -1 DAY),
短语 DATE_ADD(MAKEDATE(year,1),INTERVAL cw WEEK)
被复制;不想存储一个变量。 SQL语句在MySQL上非常适合我。
The phrase DATE_ADD(MAKEDATE(year, 1), INTERVAL cw WEEK)
is duplicated; did not want to store a variable. The SQL-Statement worked nicely for me on MySQL.
更新:只是为了澄清: WEEKDAY(DATE_ADD(MAKEDATE(year,1),INTERVAL cw WEEK))
将产生一周的第一天。从中抽出一个数字(星期二为-1;星期三为-2)将为您选择一周中的特定日期)。
请参阅此处。
UPDATE: Just for clarification: WEEKDAY(DATE_ADD(MAKEDATE(year, 1), INTERVAL cw WEEK))
will yield the first day of the week. Substracting a number from it (-1 for Tuesday; -2 for Wednesday and so forth will select a specific day in the week for you).
See here.