删除Delphi Rio 10.3中时间格式的AM/PM(仅从12:00 PM到12:00)

删除Delphi Rio 10.3中时间格式的AM/PM(仅从12:00 PM到12:00),delphi,dbgrid,Delphi,Dbgrid,我参考了这个与时间格式相关的链接,发现FormatDateTime('t',myDate)对我很有用。我需要得到TimeIn和TimeOut之间的小时数 但是,当我尝试在DBGridEh和Dataset级别使用时(恰好在DisplayFormat属性中可用),我仍然在字段中获得AM/PM 我还尝试将后端数据库MySQL的数据类型更改为Char(5),但同样没有效果 在我看来,FormatDateTime('t',MyDate)对我不起作用 顺便说一句,我还尝试对Dataset和DBGridEh级

我参考了这个与时间格式相关的链接,发现FormatDateTime('t',myDate)对我很有用。我需要得到TimeIn和TimeOut之间的小时数

但是,当我尝试在DBGridEh和Dataset级别使用时(恰好在DisplayFormat属性中可用),我仍然在字段中获得AM/PM

我还尝试将后端数据库MySQL的数据类型更改为Char(5),但同样没有效果

在我看来,FormatDateTime('t',MyDate)对我不起作用


顺便说一句,我还尝试对Dataset和DBGridEh级别进行EditMask,但结果相同。我仍然无法在“12:00 PM”的时间里摆脱上午/下午,而只需要“12:00”。

Formatdatetime('HH:NN',MyDate);应该可以正常工作(假设您的db后端字段实际上是datetime)。永远不要用字符来表示日期时间…@是的,我意识到我不应该用字符。谢谢你。但是,我尝试了你的Formatdatetime('HH:NN',MyDate')建议,它仍然不起作用。下面是我使用的代码-DataSet['TtlRegularHours']:=FormatDateTime('HH:NN',AmTime+PmTime)@Mel“我需要获取TimeIn和TimeOut之间的小时数”-那么您为什么要使用
FormatDateTime()
?考虑使用,然后你可以格式化这个数字,但是你想要。或者更好,根本不格式化它。将其作为整数而不是字符串或日期存储在数据库中/time@RemyLebeau非常感谢。知道了!你能把你的答案贴在这里吗?这样我就可以标记它已经回答了。