gpt4 book ai didi

delphi - 使用 Delphi 查找给定周和年的开始

转载 作者:行者123 更新时间:2023-12-03 19:13:06 25 4
gpt4 key购买 nike

我正在寻找一个 Delphi (10+) 函数,它返回具有给定年份和周数的 TDate: function StartDate(2021, 53): TDate 应该返回 2021-01-01。

虽然 WeekOfTheYear(EncodeDate(2021,1,1)) 返回 53(正确),但我不能反过来使用 StartOfAWeek(2021,53, 1)StartOfAWeek(2021,53, 5)(5=这是星期五) - 它不被识别为有效日期(=异常(exception))。有什么建议吗?

编辑:我正在寻找一个符合 ISO 8601 的函数(如内部 Delphi 例程),周一 = 1 和特殊周考虑(如 2021-01-01),或者更准确地说:WeekOfTheYear 的“反之亦然”例程

最佳答案

你需要的功能是:

StartOfAWeek(Year, Week, 1)

您观察到 StartOfAWeek(2021, 53, 1) 引发了异常。这是正确的,因为 2021 没有 53 周。它只有 52 个。第 52 周在 2021 年的最后一天结束。

你对

的结果感到困惑
WeekOfTheYear(EncodeDate(2021,1,1))

这将返回 53,但因为日期是年初,所以这是 2020 年的第 53 周。

关于delphi - 使用 Delphi 查找给定周和年的开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49172443/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com