我有一个非常不寻常的问题(对我来说)。我正在编写一个应用程序,允许用户通过明确的日期(将我的日期更改为 1955 年 6 月 3 日)或通过使用按钮递增(前进 1 个月)来向前或向后更改系统时间。
我写这篇文章是为了帮助我的一些用户测试一些需要这样跳转的软件,以模拟计费系统的真实使用情况。
在 Delphi 中更改时间当然非常容易:
SetDateTime(2008,05,21,16,07,21,00);
但我不确定 Delphi (2006) 是否有任何内置的日期数学助手,这是我最不喜欢的事情之一:)
对于处理这个问题的最佳方法有什么建议吗?我宁愿保持 native ,因为 winapi 日期时间调用很糟糕。
谢谢!
最佳答案
正如 gabr 和 mliesen 提到的,请查看 DateUtils和SysUtils单位,有用的功能包括。
- IncDay - 添加或减去天数。
- IncMonth - 添加或减去月份数。
- IncWeek - 添加或减去周数。
- IncYear - 添加或减去年份数。
- EncodeDate - 从年、月、日参数返回 TDateTime 值。
关于delphi - Delphi 中的时间数学,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/168119/