从周数中检索年份

Retrieve Year from week number

使用 Embarcadero Delphi,我需要用周数和年份填充 table。 问题是12月底1月开始。

第一种情况: 日期“29/12/2024”:是在 2024 年,指的是 2024 年的第 52°周。 所以我将插入一条记录,例如: 周数 = 52 星期年 = 2024

第二种情况: 日期“30/12/2024”:是 2024 年,但指的是 2025 年第 1 周。 所以我需要插入一条记录,例如: 周数 = 1 星期年 = 2025

如何动态计算?星期一是一周的第一天

您可以使用这个程序:

USES System.DateUtils;

PROCEDURE GetWeek(D : TDate ; OUT Week,Year : Cardinal);
  BEGIN
    Week:=WeekOf(D); Year:=YearOf(D);
    CASE MonthOf(D) OF
       1 : IF Week>50 THEN DEC(Year);
      12 : IF Week<50 THEN INC(Year)
    END
  END;

它将 return 儒略历中任何给定日期的周和相应的年。