我有一個場景,我必須在12小時內格式化時間,如果時間進入PM
部分,那麼我應該在012小時格式中顯示時間爲PM
。下面的 我已經實現了格式,但我無法找到如何提取12小時格式與當前的解決方案。轉換12小時格式的日期時間SQL Server
DECLARE @OpeningTime AS DATETIME
DECLARE @ClosingTime AS DATETIME
SET @OpeningTime = GETDATE()
SET @ClosingTime = '2015-12-29 13:52:36'
SELECT '<StoreTimings><Section><Days>'
+ LEFT(DATENAME(WEEKDAY, GETDATE()), 3)
+ '</Days><Timing>'
+ CONVERT(VARCHAR(5), @OpeningTime, 108)
+ (CASE WHEN DATEPART(HOUR,@OpeningTime) > 12
THEN ' PM'
ELSE ' AM'
END) + '-'
+ CONVERT(VARCHAR(5), @ClosingTime, 108)
+ (CASE WHEN DATEPART(HOUR, @ClosingTime) > 12
THEN ' PM'
ELSE ' AM'
END) + '</Timing></Section></StoreTimings>'
的輸出如下
<StoreTimings><Section><Days>Tue</Days><Timing>10:31 AM-13:52 PM</Timing></Section></StoreTimings>
我需要顯示01:52 PM
而13:52 PM
你可以看到。我在'13:52 PM'或'01:52 PM'之間有一個空格,這是手動添加的,無論如何我需要添加它。 – DareDevil
@DareDevil: - 請檢查更新的答案! –
我只需要顯示'小時:分鐘'AM/PM'' – DareDevil