2017-09-15 22 views
0

JavaScript/jQueryを使用しています。Unixタイムスタンプを一番近い30分に丸める方法は?

私は、最も近い30時間の現在のタイムスタンプを取得しようとしています。

たとえば、現在の時刻が4:36 pm 9/15/2017の場合は、午後4時30分にタイムスタンプを取得したいと思います。

それとも11:53 pmの2017年9月15日だった場合、私は12時午前 9//2017のタイムスタンプが必要になります。

Date.now()にはこれに関するパラメータがありませんので、これを達成する方法についてちょっと固まっています。

+0

日付を確認します。 '.getMinutes()'で分を取得します。 0または30のいずれかに丸めます。 '.setMinutes()'で分を設定します。 '.getTime()'を呼び出します。 – Pointy

+0

修正をお手伝いできるコードがありますので、少なくとも試みてください。 – Soviut

答えて

3

ミリ秒単位で時間を取得し、最も近い数値を30*60*1000に丸めて、それを日付に変換します。

var nowMil = new Date().getTime(); 
 
var roundedMil = Math.round(nowMil/1000/60/30) * 30 * 60 * 1000; 
 
var roundedTime = new Date(roundedMil); 
 
console.log(roundedTime);

+0

これは少し変更を加えて機能しました。ありがとう。私は日付ではなくタイムスタンプを求めましたが、留意してください。 – Temple

+0

'roundedMil'はタイムスタンプを含んでいます。 – Barmar

+0

ええ、素早く答えてくれてありがとう。 – Temple

関連する問題