Long year: Difference between revisions

From Rosetta Code
Content added Content deleted
(Created page with "{{draft task}} Most years have 52 weeks, some have 53, according to [https://en.wikipedia.org/wiki/ISO_week_date#Weeks_per_year ISO8601]. Write a function which determines if...")
 
(→‎{{header|Perl 6}}: Add a Perl 6 example)
Line 2: Line 2:
Most years have 52 weeks, some have 53, according to [https://en.wikipedia.org/wiki/ISO_week_date#Weeks_per_year ISO8601].
Most years have 52 weeks, some have 53, according to [https://en.wikipedia.org/wiki/ISO_week_date#Weeks_per_year ISO8601].
Write a function which determines if a given year is long (53 weeks) or not, and demonstrate it.
Write a function which determines if a given year is long (53 weeks) or not, and demonstrate it.


=={{header|Perl 6}}==
{{works with|Rakudo|2019.11}}
December 28 is always in the last week of the year. (By ISO8601)
<lang perl6>sub is-long ($year) { Date.new("$year-12-28").week[1] == 53 }

# Testing
say "$_ is long? {.&is-long}" for 1970..2030</lang>
{{out}}
<pre>1970 is long? True
1971 is long? False
1972 is long? False
1973 is long? False
1974 is long? False
1975 is long? False
1976 is long? True
1977 is long? False
1978 is long? False
1979 is long? False
1980 is long? False
1981 is long? True
1982 is long? False
1983 is long? False
1984 is long? False
1985 is long? False
1986 is long? False
1987 is long? True
1988 is long? False
1989 is long? False
1990 is long? False
1991 is long? False
1992 is long? True
1993 is long? False
1994 is long? False
1995 is long? False
1996 is long? False
1997 is long? False
1998 is long? True
1999 is long? False
2000 is long? False
2001 is long? False
2002 is long? False
2003 is long? False
2004 is long? True
2005 is long? False
2006 is long? False
2007 is long? False
2008 is long? False
2009 is long? True
2010 is long? False
2011 is long? False
2012 is long? False
2013 is long? False
2014 is long? False
2015 is long? True
2016 is long? False
2017 is long? False
2018 is long? False
2019 is long? False
2020 is long? True
2021 is long? False
2022 is long? False
2023 is long? False
2024 is long? False
2025 is long? False
2026 is long? True
2027 is long? False
2028 is long? False
2029 is long? False
2030 is long? False</pre>

Revision as of 22:33, 9 January 2020

Long year is a draft programming task. It is not yet considered ready to be promoted as a complete task, for reasons that should be found in its talk page.

Most years have 52 weeks, some have 53, according to ISO8601. Write a function which determines if a given year is long (53 weeks) or not, and demonstrate it.


Perl 6

Works with: Rakudo version 2019.11

December 28 is always in the last week of the year. (By ISO8601) <lang perl6>sub is-long ($year) { Date.new("$year-12-28").week[1] == 53 }

  1. Testing

say "$_ is long? {.&is-long}" for 1970..2030</lang>

Output:
1970 is long? True
1971 is long? False
1972 is long? False
1973 is long? False
1974 is long? False
1975 is long? False
1976 is long? True
1977 is long? False
1978 is long? False
1979 is long? False
1980 is long? False
1981 is long? True
1982 is long? False
1983 is long? False
1984 is long? False
1985 is long? False
1986 is long? False
1987 is long? True
1988 is long? False
1989 is long? False
1990 is long? False
1991 is long? False
1992 is long? True
1993 is long? False
1994 is long? False
1995 is long? False
1996 is long? False
1997 is long? False
1998 is long? True
1999 is long? False
2000 is long? False
2001 is long? False
2002 is long? False
2003 is long? False
2004 is long? True
2005 is long? False
2006 is long? False
2007 is long? False
2008 is long? False
2009 is long? True
2010 is long? False
2011 is long? False
2012 is long? False
2013 is long? False
2014 is long? False
2015 is long? True
2016 is long? False
2017 is long? False
2018 is long? False
2019 is long? False
2020 is long? True
2021 is long? False
2022 is long? False
2023 is long? False
2024 is long? False
2025 is long? False
2026 is long? True
2027 is long? False
2028 is long? False
2029 is long? False
2030 is long? False