Сколько прошло времени с заданного момента
Ребят помогите сделать такую штуку.
Мне нужно чтобы я задавал время в таком виде день месяц часы секунды. И мне на экран выводилось сколько с момента этого времени до текущего прошло времени. |
FreeZon,
в чём проблема? |
Цитата:
|
|
Цитата:
|
Цитата:
|
Ребят помогите сделать такую штуку.
Мне нужно чтобы я задавал время в таком виде: год, месяц, день, часы, секунды. И мне на экран выводилось сколько с момента этого времени до текущего прошло времени. К примеру: укажу 2017, 1, 24, 12, 34 Он мне покажет что прошло: 0 лет 3 месяца 12 дней xx часов xx минут Помогите пожалуйста, я уже все испробовал, спасибо! |
FreeZon,
http://momentjs.com/ |
прошло лет дней часов минут с даты
FreeZon,
шифровка из центра function pl(a, c) { var b = c[0], d = c[1], e = c[2]; return a + (1 == a % 10 && 11 != a % 100 ? b : 2 <= a % 10 && 4 >= a % 10 && (10 > a % 100 || 20 <= a % 100) ? d : e) + " " } var st = [ [" \u0433\u043e\u0434", " \u0433\u043e\u0434\u0430", " \u043b\u0435\u0442"], [" \u043c\u0435\u0441\u044f\u0446", " \u043c\u0435\u0441\u044f\u0446\u0430", " \u043c\u0435\u0441\u044f\u0446\u0435\u0432"], [" \u0434\u0435\u043d\u044c", " \u0434\u043d\u044f", " \u0434\u043d\u0435\u0439"], [" \u0447\u0430\u0441", " \u0447\u0430\u0441\u0430 ", " \u0447\u0430\u0441\u043e\u0432 "], [" \u043c\u0438\u043d\u0443\u0442\u0430", " \u043c\u0438\u043d\u0443\u0442\u044b", " \u043c\u0438\u043d\u0443\u0442"] ]; function passed(a, c, b, d, e) { var f = new Date(a, c - 1, b, d, e, 0, 0), g = new Date; for (c = 0;; c++) { a = new Date(f.getFullYear(), f.getMonth() + 2, 0, d, e, 0, 0); a.getDate() > b && a.setDate(b); if (a > g) break; f = a } b = g - f; d = b % 864E5 / 36E5 | 0; e = (b % 864E5 / 6E4 | 0) % 60; b = Math.floor(b / 864E5); a = Math.floor(c / 12); return "\u043f\u0440\u043e\u0448\u043b\u043e: " + [a, c % 12, b, d, e].reduce(function(a, b, c) { return b ? a + pl(b, st[c]) : a }, "") }; alert(passed(2017, 1, 24, 12, 34 )); |
Цитата:
function pl(a, c) { var b = c[0], d = c[1], e = c[2]; return a + (1 == a % 10 && 11 != a % 100 ? b : 2 <= a % 10 && 4 >= a % 10 && (10 > a % 100 || 20 <= a % 100) ? d : e) + " " } var st = [ [" \u0433\u043e\u0434", " \u0433\u043e\u0434\u0430", " \u043b\u0435\u0442"], [" \u043c\u0435\u0441\u044f\u0446", " \u043c\u0435\u0441\u044f\u0446\u0430", " \u043c\u0435\u0441\u044f\u0446\u0435\u0432"], [" \u0434\u0435\u043d\u044c", " \u0434\u043d\u044f", " \u0434\u043d\u0435\u0439"], [" \u0447\u0430\u0441", " \u0447\u0430\u0441\u0430 ", " \u0447\u0430\u0441\u043e\u0432 "], [" \u043c\u0438\u043d\u0443\u0442\u0430", " \u043c\u0438\u043d\u0443\u0442\u044b", " \u043c\u0438\u043d\u0443\u0442"] ]; function passed(a, c, b, d, e) { var f = new Date(a, c - 1, b, d, e, 0, 0), g = new Date; for (c = 0;; c++) { a = new Date(f.getFullYear(), f.getMonth() + 2, 0, d, e, 0, 0); a.getDate() > b && a.setDate(b); if (a > g) break; f = a } b = g - f; d = b % 864E5 / 36E5 | 0; e = (b % 864E5 / 6E4 | 0) % 60; b = Math.floor(b / 864E5); a = Math.floor(c / 12); return "\u043f\u0440\u043e\u0448\u043b\u043e: " + [a, c % 12, b, d, e].reduce(function(a, b, c) { return b ? a + pl(b, st[c]) : a }, "") }; alert(passed(2017, 5, 2, 12, 34 )); у меня только три дня и никакого 1 месяца |
Часовой пояс GMT +3, время: 00:31. |