ミリ秒をもっと楽に分かりやすく書く
Vercelが公開している
msを使用することで
より分かりやすくそして
より簡単に時間を指定することができます。
jsconst ms = require('ms')
// ミリ秒で数値が返ってくる。
// 出力: 1000
console.log(ms('1s'))
// 10秒後に実行
setInterval(() => console.log('10秒後やぞ'), ms('10s'))
// 3分後に実行
setInterval(() => console.log('3分後やぞ'), ms('3m'))
// 1時間後に実行
setInterval(() => console.log('1時間後やぞ'), ms('1h'))
1y
や 1d
を入れると一年後や一日後にも設定できる。
一週間なら 1w
と書くこともできる。
1分30秒後に実行したい場合は 1.3m
と書く
逆バージョン
ミリ秒を読みやすくする。(数値から文字列への変換)
jsconst ms = require('ms')
// 出力: 1s
console.log(ms(1000))
// もっと分かりやすくしたい場合は long オプションを使おう!
// 出力: 1 second
console.log(ms(1000, { long: true }))
ただし1分30秒( 1.3m
)は内部で四捨五入されてしまうため 1m
と返ってくる。
逆バージョン・応用編
こんな場合に使えるかも?
数値は 3
だけど3分後に設定したい!
jsconst ms = require('ms')
const threeMins = 3
// 出力: 60000
console.log(ms(threeMins + 'm'))
// ここでは m だが s や h と書き換えると一時間後に実行できたり一秒後に実行できる。
setTimeout(() => console.log('3分後!'), ms(threeMins + 'm'))
数値は秒単位だけど分単位にして表示したい!
jsconst ms = require('ms')
// 10分(秒単位)
const tenMins = 600
// 出力: 10m
console.log(ms(ms(tenMins + 's')))