This commit is contained in:
KoroLion 2021-05-28 17:34:57 +03:00
parent 84804245dd
commit 7c38dae658

44
src/now.js Normal file
View File

@ -0,0 +1,44 @@
// Реализовать метод `now`:
// - now() — вернет текущий timestamp
// - now('+min'); — `сейчас + 1 минута`
// - now('-3.5h'); — или `сейчас - 3.5 часа`
//
// Поддерживаемые форматы:
// `ms`, `s`, `sec`, `m`, `min`, `h`, `hours` & etc.
const typeToMultDict = {
'ms': 1,
's': 1000,
'sec': 1000,
'm': 1000 * 60,
'min': 1000 * 60,
'h': 1000 * 60 * 60,
'hours': 1000 * 60 * 60,
'etc': 1 // if you need more - extend this dict =)
}
function typeToMult(type) {
let mult = typeToMultDict[type];
if (!mult) {
mult = 1;
}
return mult;
}
function now(v) {
let amount = 0;
let mult = 1;
if (v) {
v = v.trim();
amount = parseFloat(v)
let len = amount.toString().length;
if (amount >= 0) {
len++;
}
const type = v.slice(len).trim();
mult = typeToMult(type);
}
return Date.now() + amount * mult;
}
console.log(now('+30min')); // Date.now() + 30 * 60 * 1000