質問: ### 前提・実現したいこと JavaScriptでミリ秒から曖昧な時間を出したいです IF文やswitch文を繋げる方法もあると思いますが、 実際によく使われる**方法**が知りたいのです 例 * 1時間*分*秒 => 1時間 * 6時間*分*秒 => 半日 * 5日*時間*分*秒 => 5日
回答: ``` var date = new Date(); var interval = 60; // 丸めたい間隔(この場合60分刻み) var coeff = 1000 * 60 * interval; var rounded_date = new Date(Math.round(date.getTime() / coeff) * coeff) // Sat May 13 2017 14:12:49 GMT+0900 (JST) → May 13 2017 14:00:00 GMT+0900 (JST) ``` 基本的にJavaScript上で時間を丸める処理はこのようにします。 5分間隔で丸めたい場合は ``` var interval = 5; //Sat May 13 2017 14:12:49 GMT+0900 (JST) → Sat May 13 2017 14:15:00 GMT+0900 (JST) ``` となります。 が、コメントでもおっしゃられているように多少の誤差の定義が曖昧であるので(**5日6時間**だった場合、**5日と半日**に丸めるのか。あるいは**5日**かなど。)、 それらの定義をきちんとした上で、丸める間隔intervalを条件分岐などする処理が必要であると思います。