我想显示 1 小时前或 30 分钟前的发布日期。这是我的代码:
declare @date datetime ='2014-07-24 11:50:22.033';
SELECT CASE WHEN DATEPART(DD,@date)=DATEPART(DD,GETDATE()) THEN
CASE WHEN DATEPART(HH,@date)=DATEPART(HH,GETDATE()) THEN
CAST(DATEDIFF(MINUTE, @date, GETDATE()) AS NVARCHAR(50)) +' Minutes ago '
ELSE
CAST(DATEDIFF(HOUR, @date, GETDATE()) AS NVARCHAR(50)) + ' Hours ago ' END
ELSE
CAST(DATEDIFF(DAY, @date, GETDATE()) AS NVARCHAR(50)) + ' Days ago.. '
END AS Postedon
Run Code Online (Sandbox Code Playgroud)
当发布时间为 11:50 而服务器时间为 12:10 时,我遇到了问题。在这种情况下,我想显示“20 分钟前”,但我的代码显示 1 小时前。