0

2つの日付の適切な違いを判断するためのカスタムコードの例を見た人はいますか。つまり、Facebookのそれと似ています。

  • これは2秒前に投稿されました
  • これは昨日投稿されました
  • これは4時間前に投稿されました。
4

2 に答える 2

2

これはプレゼンテーション層で行う方がよいことに同意しますが、これはSQLのソリューションの基礎を形成する可能性があります。SQLServerで必要な場合は、もちろん、選択した.Net言語でCLR関数を作成することもできます。 。

declare @d datetime = '2012-10-11 00:52'
select 
    case 
        when diff < 60 then convert(varchar(5), DATEDIFF(s, @d, getdate())) + ' seconds'
        when diff < 3600 then convert(varchar(5), DATEDIFF(MI, @d, getdate())) + ' minutes'
        when diff < 86400 then convert(varchar(5), DATEDIFF(hh, @d, getdate())) + ' hours'
        when diff < 604800 then convert(varchar(5), DATEDIFF(D, @d, getdate())) + ' days'
        when diff < 2419200 then convert(varchar(5), DATEDIFF(WEEK, @d, getdate())) + ' weeks'
        else convert(varchar(5), DATEDIFF(MONTH, @d, getdate())) + ' months'
    end
from
    (select DATEDIFF(s, @d, getdate()) as diff) v
于 2012-11-28T10:02:23.707 に答える
0

助けてくれてありがとう、このシナリオでは複雑すぎてSQLでうまく達成できないと思います。さらに、jQueryを使用してこれらの値をfacecrackで更新するつもりだったので、クライアント側のロジックがより効率的であるという事実に加えました。

私の目的にぴったりのこのライブラリを見つけました。

于 2012-11-28T13:26:37.820 に答える