将 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 小时时间的地方可以保持原样。
我有一个字段将时间表示为:
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 小时时间的地方可以保持原样。