Template:Weekday in month

From HandWiki
Revision as of 18:35, 18 January 2018 by imported>Primefac (Protected "Template:Weekday in month": semi-protection of high-usage templates to combat systematic vandalism ([Edit=Require autoconfirmed or confirmed access] (indefinite) [Move=Require autoconfirmed or confirmed access] (indefinite)))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Template documentation[view] [edit] [history] [purge]

Usage

Code

Note that the order of the input can be reversed. The following give the same output.

{{Weekday in month|y|m|w|n}}
{{Weekday in month|n|w|m|y}}

Note that the year is optional. The following give the nth w-day of month m this year.

{{Weekday in month||m|w|n}}
{{Weekday in month|n|w|m}}
Parameters
y year numeric format, certain words, blank
  • Integers from 1000 to 9999 are accepted.
  • last year and next year are accepted.
  • The year is optional (defaults to the current year).
m month numeric format, spelt out in full or abbreviated
  • For numeric input a leading zero is optional.
  • Three-letter abbreviations are accepted (e.g. Jan, Feb, etc.)
w weekday numeric format, spelt out in full or abbreviated
  • Three-letter abbreviations are accepted (e.g. Sun, Mon, etc.)
  • The weekday numbering follows ISO practice (Sunday → 0, Monday → 1, ... Saturday → 6).
n count numeric format, spelt out in full or abbreviated
  • Positive integers give the nth Sunday/Monday ... Saturday of the month.
  • Negative integers give the nth last Sunday/Monday ... Saturday of the month.
  • Words are accepted (e.g. first, last, etc.)
  • Abbreviations are accepted (e.g. 1st, 2nd, etc.)
Examples
  • for the first Sunday of January 2000
    • n = first, 1st or 1
    • w = Sunday, Sun or 0
    • m = January, Jan or 1
    • y = 2000
  • for the first Monday of February 2006
    • n = first, 1st or 1
    • w = Monday, Mon or 1
    • m = February, Feb or 2
    • y = 2006
  • for the first Tuesday of March 2010
    • n = first, 1st or 1
    • w = Tuesday, Tue or 2
    • m = March, Mar or 3
    • y = 2010
  • for the second Tuesday of April 2012
    • n = second, 2nd or 2
    • w = Tuesday, Tue or 2
    • m = April, Apr or 4
    • y = 2012
  • for the second Tuesday of May 2020
    • n = second, 2nd or 2
    • w = Tuesday, Tue or 2
    • m = May or 5
    • y = 2020
  • for the second Wednesday of June 2100
    • n = second, 2nd or 2
    • w = Wednesday, Wed or 3
    • m = June, Jun or 6
    • y = 2100
  • for the third Wednesday of July this year
    • n = third, 3rd or 3
    • w = Wednesday, Wed or 3
    • m = July, Jul or 7
    • y = {{#time:Y}}, {{CURRENTYEAR}} or leave it blank
  • for the third Thursday of August this year
    • n = third, 3rd or 3
    • w = Thursday, Thu or 4
    • m = August, Aug or 8
    • y = {{#time:Y}}, {{CURRENTYEAR}} or leave it blank
  • for the last Thursday of September last year
    • n = last or -1
    • w = Thursday, Thu or 4
    • m = September, Sep or 9
    • y = {{#time:Y|last year}}, {{LASTYEAR}} or last year
  • for the last Friday of October last year
    • n = last or -1
    • w = Friday, Fri or 5
    • m = October, Oct or 10
    • y = {{#time:Y|last year}}, {{LASTYEAR}} or last year
  • for the second last Friday of November next year
    • n = second last, 2nd last or -2
    • w = Friday, Fri or 5
    • m = November, Nov or 11
    • y = {{#time:Y|next year}}, {{NEXTYEAR}} or next year
  • for the second last Saturday of December next year
    • n = second last, 2nd last or -2
    • w = Saturday, Sat or 6
    • m = December, Dec or 12
    • y = {{#time:Y|next year}}, {{NEXTYEAR}} or next year

Calculation

The template then gives j, the day of the month, as calculated by the following formulae.

j = 7×n − 6 + (ww1) mod 7 (for positive n)
j = t + 7×(n + 1) − (wtw) mod 7 (for negative n)

Where t is the last day of the month, wt is the ISO weekday number of the last day of the month, w1 is the ISO weekday number of the first day of the month and n and w are as defined above.

Examples

See also