gpt4 book ai didi

delphi - 将日期转换为年、月、日日期时间格式

转载 作者:行者123 更新时间:2023-12-03 15:43:49 26 4
gpt4 key购买 nike

我研究 TDateTime 函数和过程,但没有找到允许我将天数转换为等效年、月、日的东西,例如,如果我有天数= 0,我应该得到结果:

Year:   0
Month: 0
Day: 0

或者我有天= 1,应该有:

Year:   0
Month: 0
Day: 1 // Just 1 day

或者如果我有天= 32:

Year:   0
Month: 1 // January is 31 days
Day: 1 // Day is 1
// Total are 32 days

等等,还要考虑二月有 29 天而不仅仅是 28 天的情况。在delphi xe2中,谁能告诉我它是什么函数,或者是否需要手动编写?非常感谢。

最佳答案

使用 DateUtils 中的方法:

procedure daysToDate(days: Integer; out day, month, year: Integer);
var
january1st: TDateTime;
targetDate: TDateTime;
begin
january1st := StartOfTheYear(Now());
targetDate := IncDay(january1st, days);

day := DayOfTheMonth(targetDate) - 1;
month := MonthOfTheYear(targetDate) - 1;
year := YearOf(targetDate) - YearOf(january1st);
end;

此代码假设您正在计算当年的天数。如果您想从不同的年份开始,请根据需要修改行 january1st := StartOfTheYear(Now());

关于delphi - 将日期转换为年、月、日日期时间格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9362908/

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