将 Date/Time 转换为 Just Time

Converting Date/Time to Just Time

我有一个字段将时间表示为:

1900-01-01 07:00:00.000

但我想将其转换为 07:00 上午。我能找到的最接近的是:

Convert(Varchar(20), DT.EarlyShiftStart, 114)

这给了我:

10:30:00:000

但我想去掉毫秒并添加 AM/PM。有人知道正确的值吗?

数据和数据的显示最好分开保存。这使得调整用户看到的内容变得更加容易,而无需深入研究编程的内部。例如,如果您将数据库输出日期时间作为字符串,那么以不同格式显示这些日期时间会更加困难 - 如果您想以本地时间显示它,则必须将其转换回时间,调整,然后转换回字符串。如果您通过在数据库层删除日期信息而丢弃了日期信息,那么这可能是不可能的。即使将 12 小时格式更改为 24 小时格式也会很麻烦。

由于数据(可能)用于 SSRS,因此最好利用其中的格式化功能。例如,您可以按照

的方式做您想做的事
=Format(yourTime, "hh:mm tt")

在 SSRS 中。然后,如果您想在报告的某个特定部分显示 24 小时制,只需使用

=Format(yourTime, "HH:mm")

以及报告中其他需要 12 小时时间的地方可以保持原样。