2017-11-20 4 views
0

私はリアルタイムで取得するためのコードを以下に作った。しかし、私はどのようにタイムスタンプを24時間から12時間とAM PMに追加するのか分からない。AMとPMで24時間から12時間のタイムスタンプを追加する方法は?

setInterval(function() { 
 
    var date = new Date(); 
 
    var hours = date.getHours(); 
 
    var seconds = date.getSeconds(); 
 
    var minutes = date.getMinutes(); 
 
    var realTime = (hours < 10 ? '0' : '') + hours + ':' + (minutes < 10 ? '0' : '') + minutes + ':' + (seconds < 10 ? '0' : '') + seconds 
 
    $('#time').html(realTime); 
 
}, 1000);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="time"></div>

+0

'日付fns'ライブラリを使用してみてください。それは軽量でパワフルです –

+1

use momentjs.com –

答えて

2

を使用してmomentjsとフォーマットを使用することができます

setInterval(function() { 
 
    var date = new Date(); 
 
    var hours = date.getHours(); 
 
    var seconds = ("0" + date.getSeconds()).slice(-2); 
 
    var minutes = ("0" + date.getMinutes()).slice(-2); 
 
    var amPM = hours < 12 ? "AM": "PM"; //decides if this is AM or PM based on hours value 
 
    hours = ("0" + (hours % 12)).slice(-2); //pad 0 prefix 
 
    var realTime = hours + ':' + minutes + ':' + seconds + " " + amPM; //prepare the date format 
 
    $('#time').html(realTime); 
 
}, 1000);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="time"></div>

+0

ありがとうございました –

+0

私は時間ゼロで0を実行することはできません。スライス(-2);〜時間=( "" +(時間%12))スライス(-2); '今私はゼロがないことを示している。それは大丈夫ですか? –

+0

はい、この場合、 'slice(-2)'も削除して、 'hours =(hours%12)'を残すことができます – gurvinder372

2

setInterval(function() { 
 
    var now = moment().format("hh:mm:ss a"); 
 
    $('#time').html(now); 
 
}, 1000);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.19.2/moment.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="time"></div>

あなたは、あなたが(コメントをインライン)このアプローチに従うことができますformat("hh:mm:ss a")

0

setInterval(function() { 
 
    var date = new Date(); 
 
    var hours = date.getHours(); 
 
    var seconds = date.getSeconds(); 
 
    var minutes = date.getMinutes(); 
 
    if (hours > 12){hours = hours -12; amPM = ' PM'}else{amPM = ' AM'} 
 
    var realTime = (hours < 10 ? '0' : '') + hours + ':' + (minutes < 10 ? '0' : '') + minutes + ':' + (seconds < 10 ? '0' : '') + seconds + amPM 
 
    $('#time').html(realTime); 
 
}, 1000);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="time"></div>

+0

コードのみの回答はあまり受け入れられません。また、あなたのコードは15:22:22 PMに間違っています。 – VTodorov

+0

@VTodorov彼のコード出力は私にとっては13:24:40 PMですが、これは正しいです。たぶんそれはあなたがどこにいるかにかかっていますか? –

+1

@MasterYoda 13 PMが間違っています。午後1時です。それはAM/PMを使用する考えですか? – VTodorov

関連する問題