Шаблон:Duration/док
Форматирует заданное время с точностью до секунд.
Использование
{{ duration | <время в секундах> | <максимальная единица времени> | round = <степень округления> | raw<seconds/minutes/hours/days/weeks> = <нечисловое значение> }}
- Первый безымянный параметр
Число, время в секундах. Принимаются любые корректно заданные строки с выражением {{#expr:}}
.
- Второй безымянный параметр
Наибольшее допустимое значение. Может быть задано как
(секунды), seconds
(минуты, задано по умолчанию), minutes
(часы), hours
(дни) и days
(недели) или их короткие варианты weeks
, s
, m
, h
и d
, соответственно.
w
- round
Степень округления для десятичного значения секунд, по умолчанию
.
2
- rawseconds, rawminutes, rawhours, rawdays, rawweeks
One of these parameters can be used to prevent any calculations and formatting (hence "raw") and just display the given time and unit. This is useful if the input time is not purely numerical (e.g. not a valid {{#expr:}}
string) and would thus normally result in an error, e.g. a time range. Only one out of these five parameters can be used. All other parameters are ignored if one of these is used.
Примечания
- The template does not support specifying a lowest unit of the output. Instead, this can easily be achieved by rounding the number of seconds divided by the number of seconds in the target unit, then multiplying that value by the target unit again. For example, to display
(1 час 1 минута 1 секунда) in only hours and minutes, use3661
. To round down or up, use(3661 / 60 round 0) * 60
orfloor()
instead ofceil()
, respectively. To set the lowest unit to hours, useround 0
instead of3600
, and60
for days. See below for examples.86400
Примеры
Код | Результат |
---|---|
{{duration|41}} |
41 секунда |
{{duration|40.75}} |
40,75 секунды |
{{duration|90}} |
1 минута 30 секунд |
{{duration|1800}} |
30 минут |
{{duration|7201}} |
120 минут 1 секунда |
{{duration|604800}} |
10 080 минут |
С указанием единиц | |
{{duration|604800|weeks}} |
1 неделя |
{{duration|7201|weeks}} |
2 часа 1 секунда |
{{duration|604800|d}} |
7 дней |
{{duration|7201|w}} |
2 часа 1 секунда |
Различные примеры ввода | |
{{duration|2/3}} |
0,67 секунды |
{{duration|2/3|round=6}} |
0,666667 секунды |
{{duration|(35/11 mod 2) - (10^-2 / pi*3) + ceil(21/6)}} |
4,99 секунды |
{{duration|{{#time:U|+3 days 2 hours 44 minutes 23 seconds}}-{{#time:U}}|days}} |
3 дня 2 часа 44 минуты 24 секунды |
{{duration|{{#time:U|+2 days 37 hours 98 minutes 63 seconds}}-{{#time:U}}|hours}} |
86 часов 39 минут 4 секунды |
{{duration|-41}} |
−41 секунда |
{{duration|-3601|days}} |
−1 час 1 секунда |
Поведение при значении, близком к нулю | |
{{duration|0}} |
0 секунд |
{{duration|0.001}} |
0 секунд |
{{duration|-0.001}} |
−0 секунд |
{{duration|0.001|round=5}} |
0,001 секунды |
Ввод тиков[1] | |
{{duration|60t}} |
1 секунда |
{{duration|20tick}} |
0,33 секунды |
{{duration| 30 Ticks }} |
0,5 секунды |
{{duration|140 ticks|round=4}} |
2,3333 секунды |
Вывод наименьшего количества единиц | |
{{duration|694921|days}} |
8 дней 1 час 2 минуты 1 секунда |
{{duration|(694921 / 3600 round 0) * 3600|days}} |
8 дней 1 час |
{{duration|ceil(694921 / 3600) * 3600|days}} |
8 дней 2 часа |
{{duration|(694921 / 86400 round 0) * 86400|days}} |
8 дней |
«Необрабатываемый» ввод | |
{{duration|rawseconds=2.5–6.5}} |
2,5–6,5 секунды |
{{duration|rawminutes=0}} |
0 минут |
{{duration|rawseconds=0.5–1}} |
0,5–1 секунды |
{{duration|rawhours=12–24}} |
12–24 часов |