我在程序中使用DateTime值。在使用它们时,我的丹麦Windows 7上的一切正常 - 但是,当我将我的应用程序发送给拥有美国PC(具有不同日期/时间格式)的人时,它会爆炸。我得到那些xx-xx-xx不是一个有效的日期和时间值“(或类似的东西)。
我尝试在程序启动时设置LongDateFormat和DateSeparator值,但这样做也不起作用?
我该怎么做,以便我的应用程序具有相同的日期/时间格式,无论它在何处运行?
编辑:这是我创建DateTime值的方法:
// David's Suggestion:
dtLastOnline := dedtLastOnline.Date + tpLastOnline.Time;
由于
答案 0 :(得分:5)
您需要以标准格式存储日期和时间(例如Delphi TDateTime
)。您只能在显示它们时将它们转换为人类可读的形式。
在您进行编辑澄清之后,您需要做的是分别转换日期和时间,然后将两个结果TDateTime
加在一起。
所以你的代码应该是:
dedtLastOnline.Date + tpLastOnline.Time
答案 1 :(得分:0)
你在哪里得到“不是有效的日期和时间价值”错误? 似乎是“字符串到TDatetime”转换错误,它与“.Date + .Time”计算无关。 你有堆栈跟踪吗?