Шаблон:Спорна възраст

?

[редактиране] [почистване] Документация

Употреба редактиране

Шаблонът изчислява и показва изминалите цели години между дадени две дати. Началната и крайната година е задължително да бъдат указани, но дните от месеците и месеците не са задължителни. Ако възрастта не може да бъде изчислена точно, показват се двете възможни възрасти разделени с тире, напр.: „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, крайният месец е декември (год. е минала, началният месец и крайният ден не са нужни)
  • Малко вероятни случаи добавени за пълнота, при които и двете дати са дадени, но само единия месец:
    • крайният месец е декември и началният ден < крайния ден (год. е минала, тогава началния месец не е нужен)
    • крайният месец е януари и началният ден > крайния ден (год. не е минала, нач. м. не е нужен)
    • началният месец е януари и крайният ден > началния ден (год. е минала, крайният месец не е нужен)
    • началният месец е декември и крайният ден < началния ден (год. не е минала, крайният месец не е нужен)

Вижте също редактиране