小编Sur*_*dra的帖子

显示发布日期和时间,例如 1 小时前或 30 分钟前

我想显示 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 小时前。

sql-server sql-server-2008-r2 datetime

3
推荐指数
1
解决办法
4016
查看次数

标签 统计

datetime ×1

sql-server ×1

sql-server-2008-r2 ×1