Шаблон:Спорна възраст/doc
Това е подстраница с документация за Шаблон:Спорна възраст (вижте там за самия шаблон). Тя съдържа упътване за употреба, категории и друго помощно съдържание, което не е част от самата шаблон страница. |
Употреба
[редактиране на кода]Шаблонът изчислява и показва изминалите цели години между дадени две дати. Началната и крайната година е задължително да бъдат указани, но дните от месеците и месеците не са задължителни. Ако възрастта не може да бъде изчислена точно, показват се двете възможни възрасти разделени с тире, напр.: „56 – 77“.
{{Спорна възраст|d1=|m1=|y1=|d2=|m2=|y2=}}
До днес:
{{Спорна възраст|d1=|m1=|y1=|d2={{CURRENTDAY}}|m2={{CURRENTMONTH}}|y2={{CURRENTYEAR}}}}
Параметри
[редактиране на кода]- d1 - началният ден от месеца
- m1 - началният месец с цифри
- y1 - началната година
- d2 - крайният ден от месеца
- m2 - крайният месец с цифри
- y2 - крайната година (по-голяма или равна на началната)
- макс - виж по-долу
- резултат - виж по-долу
Ако y1 или y2 не са зададени, шаблонът показва само един въпросителен знак — ?
Години преди новата ера трябва да са подадени като отрицателни числа, напр. година 20 пр. Хр. се подава като „-20“. Шаблонът отчита липсата на година нула при пресмятането когато началната дата е пр. Хр., а крайната — след Хр.
Параметър „макс“
[редактиране на кода]Стойността му ще бъде показана като максимална възраст или наместо максималната възраст. Примери при резултат без зададена стойност макс и с макс=50:
- 48 / 48 – 50
- 48 – 49 / 48 – 50
- 48 – 50 / 48 – 50
- 50 / 50 (шаблонът проверява дали макс е същото число като изчислената възраст и ако е така не показва макс)
- 51 / 51 – 50 (това очевидно е неправилно, но шаблонът предполага, че „макс“ е най-голямата възможна възраст)
- 51-52 / 51 – 50 (както горното)
Параметър „резултат=само макс“
[редактиране на кода]С този параметър шаблонът ще върне само максималната възможна възраст:
Резултат без „резултат=само макс“ и резултат със „резултат=само макс“:
- 50 – 65 / 65
- 50 / 50
Използване със спорни години
[редактиране на кода]Чрез параметрите „макс“ и „резултат=само макс“ може да се изчисли приблизителната възраст при спорни дати на раждане и/или смърт. В шаблона се задават най-късната възможна дата на раждане и най-ранната възможна дата на смърт, а като стойност на параметър „макс“ се задава пак този шаблон, само че със стойности най-ранната дата на раждане и най-късната дата на смърт, както и с параметъра „резултат=само макс“.
Пример при дата на раждане между 1 февруари 1900 и 30 март 1910 и дата на смърт или 1 декември 1985 или 20 януари 1991:
{{Спорна възраст|d1=30|m1=3|y1=1910|d2=1|m2=12|y2=1985|макс={{Спорна възраст|d1=1|m1=2|y1=1900|d2=20|m2=1|y2=1991|резултат=само макс}}}}
Резултат: 75 – 90 (Най-малката възможна възраст е 1985 - 1910 = 75, най-голямата е 1991 - 1900 - 1. Минус едно, защото от 1 февруари до 20 януари няма пълна година).
Логика при липсващи части от датите
[редактиране на кода]При дадени крайните години, достатъчни условия да бъде изчислена точната възраст са:
- двата месеца са дадени и са различни (тогава дните не са нужни)
- крайната дата е 31 декември (годишнината е минала; началният месец и ден не са нужни)
- двата месеца са дадени и са еднакви и крайният ден е последният ден от месеца (год. е минала; за февр. засега отчита само 29 февр., което ще работи само за вис. год.)
- крайният ден е посл. ден на месеца и началният месец е януари (год. е минала, началният ден и крайният месец не са нужни)
- началният ден е 1, крайният месец е декември (год. е минала, началният месец и крайният ден не са нужни)
- Малко вероятни случаи добавени за пълнота, при които и двете дати са дадени, но само единия месец:
- крайният месец е декември и началният ден < крайния ден (год. е минала, тогава началния месец не е нужен)
- крайният месец е януари и началният ден > крайния ден (год. не е минала, нач. м. не е нужен)
- началният месец е януари и крайният ден > началния ден (год. е минала, крайният месец не е нужен)
- началният месец е декември и крайният ден < началния ден (год. не е минала, крайният месец не е нужен)
Вижте също
[редактиране на кода]