delphi - Delphi 中的时间数学

标签 delphi date time

我有一个非常不寻常的问题(对我来说)。我正在编写一个应用程序,允许用户通过明确的日期(将我的日期更改为 1955 年 6 月 3 日)或通过使用按钮递增(前进 1 个月)来向前或向后更改系统时间。

我写这篇文章是为了帮助我的一些用户测试一些需要这样跳转的软件,以模拟计费系统的真实使用情况。

在 Delphi 中更改时间当然非常容易:

SetDateTime(2008,05,21,16,07,21,00);

但我不确定 Delphi (2006) 是否有任何内置的日期数学助手,这是我最不喜欢的事情之一:)

对于处理这个问题的最佳方法有什么建议吗?我宁愿保持 native ,因为 winapi 日期时间调用很糟糕。

谢谢!

最佳答案

正如 gabr 和 mliesen 提到的,请查看 DateUtilsSysUtils单位,有用的功能包括。

  • IncDay - 添加或减去天数。
  • IncMonth - 添加或减去月份数。
  • IncWeek - 添加或减去周数。
  • IncYear - 添加或减去年份数。
  • EncodeDate - 从年、月、日参数返回 TDateTime 值。

关于delphi - Delphi 中的时间数学,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/168119/

相关文章:

delphi - 如何禁用包中的隐式构建? {$隐式构建}

PHP检查数据库以查看 "datetime"记录是否大于0000 :00:00 0000-00-00 then

iphone - 在 iPhone 编程中寻找时间

linux - 编写一个接受持续时间作为参数的 bash 脚本?

delphi - 在编译器指令中有条件定义?

macos - 在 Mac OSX 上打印 Firemonkey

delphi - 求一个 "Hover button"的方法来展开一段

php - 在月初和月末获取一周的开始日期和结束日期

javascript - 在 jquery 中更改日期时,Datepicker 采用默认日期

java - 我如何修改此代码使其时间复杂度为 o(log n) 或 o(n) 而不是 o(n^2)