2011-08-08 14 views
0
function local(a, b) { 
    var c = b - a; 
    if(c < 60) // seconds 
    { 
     document.write(Math.floor(c) + 'seconds ago'); 
    } 
    else if(c >= 60 && c < 3600) // minutes 
    { 
     document.write(Math.floor(c/60) + 'minutes ago'); 
    } 
    else if(c >= 3600 && c < 43200) // hours 
    { 
     document.write(Math.floor(c/3600) + 'hours ago'); 
    } 
    else if(c >= 43200) 
    { 
     var d = new Date(a); 
     document.write(d); 
    } 
} 
+0

'のelseif(C> = 43200)で'それは 'else if(c> = 43200)'でなければなりません。 –

+0

document.writeを使うのは良い考えではありません... http://www.sitepoint.com/insert-in-place-without-documentwrite/ – shawndumas

答えて

3

ちょうど連結してください。あなたは出力が(切り捨て)床の場合

document.write((c/60) + ' minutes ago'); 

:たとえば、代わりに:

document.write('c/60 minutes ago'); 

はこれを試してみてください

document.write(Math.floor(c/60) + ' minutes ago'); 
+0

私はいつもPHPと混同しています。連結のため –

+0

@Chris:副作用として、私は '+'よりも '.'演算子を好むのは、要求された演算が加算ではなく連結であることを明らかにしているからです。これは '' 0 '+ 0'のようなものを明確にするのに役立ちます。これはあなたがコーディングしている言語に応じて任意の数のものを意味することができます。 y'は 'x.toString()+ y.toString()'です。これは式の両辺を文字列に変換し、連結が唯一の実行時解釈であることを保証します。 – cdhowie

+0

'x.toString()+ y.toString()'と 'x + y'は2つの異なるものです。 –