美国和欧盟PC的日期/时间不同 - 德尔福不喜欢这样

Jef*_*eff 0 delphi datetime

我在我的程序中使用DateTime值.在使用它们时,我的丹麦Windows 7上的一切正常 - 但是,当我将我的应用程序发送给拥有美国PC(具有不同日期/时间格式)的人时,它会爆炸.我得到那些xx-xx-xx不是一个有效的日期和时间值"(或类似的东西).

我尝试在我的程序启动时设置LongDateFormat和DateSeparator值,但是那也不起作用?

我该怎么办,以便我的应用程序具有相同的日期/时间格式,无论它在哪里运行?

编辑:这是我创建DateTime值的方法:

// David's Suggestion:
dtLastOnline := dedtLastOnline.Date + tpLastOnline.Time;
Run Code Online (Sandbox Code Playgroud)

谢谢

  • 杰夫

Dav*_*nan 5

您需要以标准格式(例如Delphi TDateTime)存储日期和时间.您只在显示它们时将它们转换为人类可读的形式.

在您进行编辑澄清之后,您需要做的是分别转换日期和时间,然后将两个结果TDateTime值相加.

所以你的代码应该是:

dedtLastOnline.Date + tpLastOnline.Time
Run Code Online (Sandbox Code Playgroud)