如何从yyyy-mm-dd更改格式hh:mm:ss到dd-mm-yyyy hh:mm am / pm

时间:2017-04-13 14:34:15

标签: sql-server date datetime reporting-services

我有一个存储过程。我在表变量中声明了CREATION_TIME

我的创建时间格式如下:2017-04-12 13:01:04.730

我想将其格式化为12/04/2017 13:01 PM

你能帮帮我吗?

感谢。

3 个答案:

答案 0 :(得分:1)

如果2012 +

,您可以使用Format()
Declare @D datetime = '2017-04-12 13:01:04.730'
Select Format(@D,'dd/MM/yyyy hh:mm tt')

<强>返回

12/04/2017 01:01 PM

请注意 hh vs HH hh 将提供12小时,而 HH 将提供24小时。

创建13:01 PM

似乎很奇怪

答案 1 :(得分:1)

For Older versions of SQL Server I mean older than 2012 when we didn't have FORMAT() function, you can use something like....

SELECT CONVERT(VARCHAR(10), GETDATE(), 103) + ' ' 
    + LTRIM(RIGHT(CONVERT(VARCHAR(20), GETDATE(), 100) , 7))


Returns: 13/04/2017 3:53PM

答案 2 :(得分:1)

我同意建议在SSRS中这样做的评论。

将textbox / tablix的format属性更新为:

dd / MM / yyyy HH:mm tt

(根据英国/美国等要求交换日期和月份)