Day of the week of Christmas and New Year: Difference between revisions

Content added Content deleted
(J)
m (syntax highlighting fixup automation)
Line 8: Line 8:
{{trans|Python}}
{{trans|Python}}


<lang 11l>V weekDays = [‘Sunday’, ‘Monday’, ‘Tuesday’, ‘Wednesday’, ‘Thursday’, ‘Friday’, ‘Saturday’]
<syntaxhighlight lang="11l">V weekDays = [‘Sunday’, ‘Monday’, ‘Tuesday’, ‘Wednesday’, ‘Thursday’, ‘Friday’, ‘Saturday’]
V thisXMas = Time(2021, 12, 25)
V thisXMas = Time(2021, 12, 25)
V thisXMasDay = Int(thisXMas.strftime(‘%w’))
V thisXMasDay = Int(thisXMas.strftime(‘%w’))
Line 17: Line 17:
V nextNewYearDay = Int(nextNewYear.strftime(‘%w’))
V nextNewYearDay = Int(nextNewYear.strftime(‘%w’))
V nextNewYearDayAsString = weekDays[nextNewYearDay]
V nextNewYearDayAsString = weekDays[nextNewYearDay]
print(‘Next new year is on a ’nextNewYearDayAsString)</lang>
print(‘Next new year is on a ’nextNewYearDayAsString)</syntaxhighlight>


{{out}}
{{out}}
Line 26: Line 26:


=={{header|Ada}}==
=={{header|Ada}}==
<lang Ada>with Ada.Text_Io;
<syntaxhighlight lang="ada">with Ada.Text_Io;
with Ada.Calendar.Formatting;
with Ada.Calendar.Formatting;


Line 50: Line 50:
Info (Christmas_Day);
Info (Christmas_Day);
Info (New_Years_Day);
Info (New_Years_Day);
end Weekdays;</lang>
end Weekdays;</syntaxhighlight>
{{out}}
{{out}}
<pre>
<pre>
Line 59: Line 59:
=={{header|ALGOL W}}==
=={{header|ALGOL W}}==
Re-using code from the [[Day of the week]] task.
Re-using code from the [[Day of the week]] task.
<lang algolw>begin % find the day of the week 25/12/2021 and 01/01/2022 fall on %
<syntaxhighlight lang="algolw">begin % find the day of the week 25/12/2021 and 01/01/2022 fall on %
string(10) array dayName( 0 :: 6 );
string(10) array dayName( 0 :: 6 );
integer procedure Day_of_week ( integer value d, m, y );
integer procedure Day_of_week ( integer value d, m, y );
Line 79: Line 79:
write( "25th of December 2021 is a ", dayName( Day_of_week( 25, 12, 2021 ) ) );
write( "25th of December 2021 is a ", dayName( Day_of_week( 25, 12, 2021 ) ) );
write( " 1st of January 2022 is a ", dayName( Day_of_week( 1, 1, 2022 ) ) )
write( " 1st of January 2022 is a ", dayName( Day_of_week( 1, 1, 2022 ) ) )
end.</lang>
end.</syntaxhighlight>
{{out}}
{{out}}
<pre>
<pre>
Line 87: Line 87:


=={{header|AutoHotkey}}==
=={{header|AutoHotkey}}==
<lang AutoHotkey>FormatTime, xmas , 20211225, dddd
<syntaxhighlight lang="autohotkey">FormatTime, xmas , 20211225, dddd
FormatTime, newYear , 20220101, dddd
FormatTime, newYear , 20220101, dddd
MsgBox % result := "Christmas Day, 2021 : " xmas "`nNew Year's Day, 2022 : " newYear</lang>
MsgBox % result := "Christmas Day, 2021 : " xmas "`nNew Year's Day, 2022 : " newYear</syntaxhighlight>
{{out}}
{{out}}
<pre>Christmas Day, 2021 : Saturday
<pre>Christmas Day, 2021 : Saturday
Line 95: Line 95:


=={{header|AWK}}==
=={{header|AWK}}==
<syntaxhighlight lang="awk">
<lang AWK>
# syntax: GAWK -f WHAT_WEEKDAYS_WILL_CHRISTMAS_AND_NEW_YEAR.AWK
# syntax: GAWK -f WHAT_WEEKDAYS_WILL_CHRISTMAS_AND_NEW_YEAR.AWK
BEGIN {
BEGIN {
Line 107: Line 107:
exit(0)
exit(0)
}
}
</syntaxhighlight>
</lang>
{{out}}
{{out}}
<pre>
<pre>
Line 118: Line 118:


=={{header|BASIC}}==
=={{header|BASIC}}==
<lang gwbasic>10 DEFINT A-Z
<syntaxhighlight lang="gwbasic">10 DEFINT A-Z
20 DIM D$(6)
20 DIM D$(6)
30 FOR I=0 TO 6: READ D$(I): NEXT
30 FOR I=0 TO 6: READ D$(I): NEXT
Line 132: Line 132:
130 DATA Saturday,Sunday,Monday,Tuesday,Wednesday,Thursday,Friday
130 DATA Saturday,Sunday,Monday,Tuesday,Wednesday,Thursday,Friday
140 DATA 2021,12,25
140 DATA 2021,12,25
150 DATA 2022,1,1</lang>
150 DATA 2022,1,1</syntaxhighlight>
{{out}}
{{out}}
<pre>12/25/2021 is a Saturday
<pre>12/25/2021 is a Saturday
Line 138: Line 138:


=={{header|BCPL}}==
=={{header|BCPL}}==
<lang bcpl>get "libhdr"
<syntaxhighlight lang="bcpl">get "libhdr"


let dayofweek(y,m,d) = valof
let dayofweek(y,m,d) = valof
Line 166: Line 166:
$( show(2021,12,25)
$( show(2021,12,25)
show(2022,1,1)
show(2022,1,1)
$)</lang>
$)</syntaxhighlight>
{{out}}
{{out}}
<pre>12/25/2021 is a Saturday
<pre>12/25/2021 is a Saturday
Line 172: Line 172:


=={{header|C}}==
=={{header|C}}==
<lang c>#define _XOPEN_SOURCE
<syntaxhighlight lang="c">#define _XOPEN_SOURCE
#include <stdio.h>
#include <stdio.h>
#include <time.h>
#include <time.h>
Line 186: Line 186:
}
}
return 0;
return 0;
}</lang>
}</syntaxhighlight>
{{out}}
{{out}}
<pre>2021-12-25 is a Saturday
<pre>2021-12-25 is a Saturday
Line 192: Line 192:


=={{header|CLU}}==
=={{header|CLU}}==
<lang clu>day_of_week = proc (d: date) returns (string)
<syntaxhighlight lang="clu">day_of_week = proc (d: date) returns (string)
own days: array[string] := array[string]$
own days: array[string] := array[string]$
[0:"Saturday", "Sunday", "Monday", "Tuesday",
[0:"Saturday", "Sunday", "Monday", "Tuesday",
Line 218: Line 218:
stream$putl(po, date$unparse_date(d) || " is a " || day_of_week(d))
stream$putl(po, date$unparse_date(d) || " is a " || day_of_week(d))
end
end
end start_up</lang>
end start_up</syntaxhighlight>
{{out}}
{{out}}
<pre>25 December 2021 is a Saturday
<pre>25 December 2021 is a Saturday
Line 224: Line 224:


=={{header|COBOL}}==
=={{header|COBOL}}==
<lang cobol> IDENTIFICATION DIVISION.
<syntaxhighlight lang="cobol"> IDENTIFICATION DIVISION.
PROGRAM-ID. XMASNY.
PROGRAM-ID. XMASNY.
Line 298: Line 298:
MULTIPLY 7 BY D7.
MULTIPLY 7 BY D7.
COMPUTE D = D - D7 + 1.
COMPUTE D = D - D7 + 1.
MOVE DAYS(D) TO DAY-NAME.</lang>
MOVE DAYS(D) TO DAY-NAME.</syntaxhighlight>
{{out}}
{{out}}
<pre>25/12/2021 is a Saturday
<pre>25/12/2021 is a Saturday
Line 304: Line 304:


=={{header|Cowgol}}==
=={{header|Cowgol}}==
<lang cowgol>include "cowgol.coh";
<syntaxhighlight lang="cowgol">include "cowgol.coh";


record Date is
record Date is
Line 353: Line 353:
print_nl();
print_nl();
i := i + 1;
i := i + 1;
end loop;</lang>
end loop;</syntaxhighlight>
{{out}}
{{out}}
<pre>25/12/2021 is a Saturday
<pre>25/12/2021 is a Saturday
Line 359: Line 359:


=={{header|Draco}}==
=={{header|Draco}}==
<lang draco>type Date = struct {
<syntaxhighlight lang="draco">type Date = struct {
word year;
word year;
byte month, day
byte month, day
Line 398: Line 398:
writeln(" is a ", day_name(dates[i]))
writeln(" is a ", day_name(dates[i]))
od
od
corp</lang>
corp</syntaxhighlight>
{{out}}
{{out}}
<pre>12/25/2021 is a Saturday
<pre>12/25/2021 is a Saturday
Line 404: Line 404:


=={{header|F_Sharp|F#}}==
=={{header|F_Sharp|F#}}==
<lang fsharp>
<syntaxhighlight lang="fsharp">
// Show day of week for Christmas Day, 2021 and New Year's Day, 2022. Nigel Galloway: December 1st., 2021
// Show day of week for Christmas Day, 2021 and New Year's Day, 2022. Nigel Galloway: December 1st., 2021
printfn $"Christmas Day 2021 is a %s{string(System.DateTime(2021,12,25).DayOfWeek)}. New Years Day 2022 is a %s{string(System.DateTime(2022,1,1).DayOfWeek)}."
printfn $"Christmas Day 2021 is a %s{string(System.DateTime(2021,12,25).DayOfWeek)}. New Years Day 2022 is a %s{string(System.DateTime(2022,1,1).DayOfWeek)}."
</syntaxhighlight>
</lang>
{{out}}
{{out}}
<pre>
<pre>
Line 415: Line 415:
=={{header|Factor}}==
=={{header|Factor}}==
{{works with|Factor|0.99 2021-06-02}}
{{works with|Factor|0.99 2021-06-02}}
<lang factor>USING: calendar calendar.english calendar.holidays.us formatting
<syntaxhighlight lang="factor">USING: calendar calendar.english calendar.holidays.us formatting
kernel sequences ;
kernel sequences ;


Line 427: Line 427:
: .holidays ( seq -- ) [ dup holidays msg printf ] each ;
: .holidays ( seq -- ) [ dup holidays msg printf ] each ;


{ 1578 1590 1642 1957 2020 2021 2022 2242 2245 2393 } .holidays</lang>
{ 1578 1590 1642 1957 2020 2021 2022 2242 2245 2393 } .holidays</syntaxhighlight>
{{out}}
{{out}}
<pre>
<pre>
Line 443: Line 443:


=={{header|FreeBASIC}}==
=={{header|FreeBASIC}}==
<lang freebasic>#include "vbcompat.bi" 'contains functions for dealing with dates and times
<syntaxhighlight lang="freebasic">#include "vbcompat.bi" 'contains functions for dealing with dates and times
#include "string.bi" 'contains functions for formatting text strings
#include "string.bi" 'contains functions for formatting text strings


Line 450: Line 450:


print "Christmas Day 2021 is on a "; format(christmas,"dddd")
print "Christmas Day 2021 is on a "; format(christmas,"dddd")
print "New Year's Day 2022 is on a "; format(newyears, "dddd")</lang>
print "New Year's Day 2022 is on a "; format(newyears, "dddd")</syntaxhighlight>
{{out}}<pre>
{{out}}<pre>
Christmas Day 2021 is on a Saturday
Christmas Day 2021 is on a Saturday
Line 457: Line 457:


=={{header|J}}==
=={{header|J}}==
<lang J> (weekday 2021 12 25){::;:'Sun Mon Tue Wed Thu Fri Sat'
<syntaxhighlight lang="j"> (weekday 2021 12 25){::;:'Sun Mon Tue Wed Thu Fri Sat'
Sat
Sat
(weekday 2022 01 01){::;:'Sun Mon Tue Wed Thu Fri Sat'
(weekday 2022 01 01){::;:'Sun Mon Tue Wed Thu Fri Sat'
Sat</lang>
Sat</syntaxhighlight>
=={{header|jq}}==
=={{header|jq}}==
{{works with|jq}}
{{works with|jq}}
Line 467: Line 467:
Years, output format, and output are exactly as for [[#Wren|Wren]].
Years, output format, and output are exactly as for [[#Wren|Wren]].


<lang jq>def weekdaynames:
<syntaxhighlight lang="jq">def weekdaynames:
["Sunday", "Monday","Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
["Sunday", "Monday","Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];


Line 475: Line 475:


1578, 1590, 1642, 1957, 2020, 2021, 2022, 2242, 2245, 2393
1578, 1590, 1642, 1957, 2020, 2021, 2022, 2242, 2245, 2393
| "In \(.), New year's day is on a \(weekday(.;1;1)), and Christmas day on \(weekday(.;12;25))."</lang>
| "In \(.), New year's day is on a \(weekday(.;1;1)), and Christmas day on \(weekday(.;12;25))."</syntaxhighlight>
{{out}}
{{out}}
As for [[#Wren]]
As for [[#Wren]]
Line 481: Line 481:
=={{header|Julia}}==
=={{header|Julia}}==
See also https://docs.julialang.org/en/v1/stdlib/Dates/#Dates.format-Tuple{TimeType,%20AbstractString}
See also https://docs.julialang.org/en/v1/stdlib/Dates/#Dates.format-Tuple{TimeType,%20AbstractString}
<lang julia>using Dates
<syntaxhighlight lang="julia">using Dates


for year in [1578, 1590, 1642, 1957, 2020, 2021, 2022, 2242, 2245, 2393]
for year in [1578, 1590, 1642, 1957, 2020, 2021, 2022, 2242, 2245, 2393]
Line 487: Line 487:
" and Christmas: ", Dates.format(DateTime(year, 12, 25), "E, U d, Y"))
" and Christmas: ", Dates.format(DateTime(year, 12, 25), "E, U d, Y"))
end
end
</lang>{{out}}
</syntaxhighlight>{{out}}
<pre>
<pre>
Year 1578, New Years's Day: Sunday, January 1, 1578 and Christmas: Monday, December 25, 1578
Year 1578, New Years's Day: Sunday, January 1, 1578 and Christmas: Monday, December 25, 1578
Line 502: Line 502:


=={{header|ooRexx}}==
=={{header|ooRexx}}==
<lang oorexx>/* REXX */
<syntaxhighlight lang="oorexx">/* REXX */
Call wkd 2021,12,25
Call wkd 2021,12,25
Call wkd 2022,01,01
Call wkd 2022,01,01
Line 511: Line 511:
dt=.DateTime~new(y,m,d)
dt=.DateTime~new(y,m,d)
say d'.'m'.'y 'is a' wd[dt~weekday]
say d'.'m'.'y 'is a' wd[dt~weekday]
Return</lang>{{out}}
Return</syntaxhighlight>{{out}}
<pre>25.12.2021 is a Saturday
<pre>25.12.2021 is a Saturday
01.01.2022 is a Saturday<</pre>
01.01.2022 is a Saturday<</pre>


=={{header|Perl}}==
=={{header|Perl}}==
<lang perl>#!/usr/bin/perl
<syntaxhighlight lang="perl">#!/usr/bin/perl


use strict; # https://rosettacode.org/wiki/What_weekdays_will_Christmas_and_New_Year
use strict; # https://rosettacode.org/wiki/What_weekdays_will_Christmas_and_New_Year
Line 529: Line 529:
print "$_->[0] ", qw( Sunday Monday Tuesday Wednesday Thursday Fridat Saturday )
print "$_->[0] ", qw( Sunday Monday Tuesday Wednesday Thursday Fridat Saturday )
[(localtime timelocal(0, 0, 12, @{$_}[1..3]))[6]], "\n";
[(localtime timelocal(0, 0, 12, @{$_}[1..3]))[6]], "\n";
}</lang>
}</syntaxhighlight>
{{out}}
{{out}}
<pre>
<pre>
Line 537: Line 537:


=={{header|Phix}}==
=={{header|Phix}}==
<!--<lang Phix>(phixonline)-->
<!--<syntaxhighlight lang="phix">(phixonline)-->
<span style="color: #008080;">with</span> <span style="color: #008080;">javascript_semantics</span>
<span style="color: #008080;">with</span> <span style="color: #008080;">javascript_semantics</span>
<span style="color: #008080;">include</span> <span style="color: #004080;">timedate</span><span style="color: #0000FF;">.</span><span style="color: #000000;">e</span>
<span style="color: #008080;">include</span> <span style="color: #004080;">timedate</span><span style="color: #0000FF;">.</span><span style="color: #000000;">e</span>
Line 546: Line 546:
<span style="color: #008080;">end</span> <span style="color: #008080;">procedure</span>
<span style="color: #008080;">end</span> <span style="color: #008080;">procedure</span>
<span style="color: #7060A8;">papply</span><span style="color: #0000FF;">({</span><span style="color: #000000;">1578</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">1590</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">1642</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">1957</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">2020</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">2021</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">2022</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">2242</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">2245</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">2393</span><span style="color: #0000FF;">},</span><span style="color: #000000;">nyc</span><span style="color: #0000FF;">)</span>
<span style="color: #7060A8;">papply</span><span style="color: #0000FF;">({</span><span style="color: #000000;">1578</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">1590</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">1642</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">1957</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">2020</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">2021</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">2022</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">2242</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">2245</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">2393</span><span style="color: #0000FF;">},</span><span style="color: #000000;">nyc</span><span style="color: #0000FF;">)</span>
<!--</lang>-->
<!--</syntaxhighlight>-->
<small>Note the builtin timedate type does not officially support dates prior to ''1752''... the fact that the first three lines agree with other entries on this page is pure luck.</small>
<small>Note the builtin timedate type does not officially support dates prior to ''1752''... the fact that the first three lines agree with other entries on this page is pure luck.</small>
{{out}}
{{out}}
Line 563: Line 563:


=={{header|PL/I}}==
=={{header|PL/I}}==
<lang pli>xmas_and_newyear: procedure options(main);
<syntaxhighlight lang="pli">xmas_and_newyear: procedure options(main);
day_name: procedure(year,month,day) returns(char(9) varying);
day_name: procedure(year,month,day) returns(char(9) varying);
declare days(0:6) char(9) varying;
declare days(0:6) char(9) varying;
Line 598: Line 598:
(F(2),A,F(2),A,F(4),A,A);
(F(2),A,F(2),A,F(4),A,A);
end;
end;
end xmas_and_newyear;</lang>
end xmas_and_newyear;</syntaxhighlight>
{{out}}
{{out}}
<pre>12/25/2021 is a Saturday
<pre>12/25/2021 is a Saturday
Line 604: Line 604:


=={{header|PL/M}}==
=={{header|PL/M}}==
<lang pli>100H:
<syntaxhighlight lang="pli">100H:
BDOS: PROCEDURE(F,A); DECLARE F BYTE, A ADDRESS; GO TO 5; END BDOS;
BDOS: PROCEDURE(F,A); DECLARE F BYTE, A ADDRESS; GO TO 5; END BDOS;
EXIT: PROCEDURE; GO TO 0; END EXIT;
EXIT: PROCEDURE; GO TO 0; END EXIT;
Line 662: Line 662:
END;
END;
CALL EXIT;
CALL EXIT;
EOF</lang>
EOF</syntaxhighlight>
{{out}}
{{out}}
<pre>12/25/2021 IS A SATURDAY
<pre>12/25/2021 IS A SATURDAY
Line 668: Line 668:


=={{header|Python}}==
=={{header|Python}}==
<lang python>
<syntaxhighlight lang="python">
import datetime
import datetime


Line 681: Line 681:
nextNewYearDayAsString = weekDays[nextNewYearDay]
nextNewYearDayAsString = weekDays[nextNewYearDay]
print("Next new year is on a {}".format(nextNewYearDayAsString))
print("Next new year is on a {}".format(nextNewYearDayAsString))
</syntaxhighlight>
</lang>
{{out}}
{{out}}
<pre>
<pre>
Line 691: Line 691:
<code>dayofweek</code> is defined at [[Day of the week#Quackery]].
<code>dayofweek</code> is defined at [[Day of the week#Quackery]].


<lang Quackery> [ [ table
<syntaxhighlight lang="quackery"> [ [ table
$ "Sun" $ "Mon"
$ "Sun" $ "Mon"
$ "Tues" $ "Wednes"
$ "Tues" $ "Wednes"
Line 703: Line 703:


2021 christmas day echo$ cr
2021 christmas day echo$ cr
2022 newyear's day echo$ cr</lang>
2022 newyear's day echo$ cr</syntaxhighlight>


{{out}}
{{out}}
Line 712: Line 712:


=={{header|Raku}}==
=={{header|Raku}}==
<lang perl6>my @d-o-w = < Sunday Monday Tuesday Wednesday Thursday Friday Saturday >;
<syntaxhighlight lang="raku" line>my @d-o-w = < Sunday Monday Tuesday Wednesday Thursday Friday Saturday >;


.say for (flat 2020..2022, (1500 .. 2500).roll(7)).sort.map: {
.say for (flat 2020..2022, (1500 .. 2500).roll(7)).sort.map: {
"In {$_}, New Years is on a { @d-o-w[Date.new($_, 1, 1).day-of-week % 7] }, " ~
"In {$_}, New Years is on a { @d-o-w[Date.new($_, 1, 1).day-of-week % 7] }, " ~
"and Christmas on a { @d-o-w[Date.new($_, 12, 25).day-of-week % 7] }."
"and Christmas on a { @d-o-w[Date.new($_, 12, 25).day-of-week % 7] }."
}</lang>
}</syntaxhighlight>
{{out|Sample output}}
{{out|Sample output}}
<pre>In 1578, New Years is on a Sunday, and Christmas on a Monday.
<pre>In 1578, New Years is on a Sunday, and Christmas on a Monday.
Line 731: Line 731:


=={{header|Ring}}==
=={{header|Ring}}==
<lang ring>? "working..."
<syntaxhighlight lang="ring">? "working..."
weekdays = ["Mon","Tues","Wednes","Thurs","Fri","Satur","Sun"]
weekdays = ["Mon","Tues","Wednes","Thurs","Fri","Satur","Sun"]
dow = timelist()[15]
dow = timelist()[15]
Line 750: Line 750:


func nameof day
func nameof day
return weekdays[((day + today - 1) % 7) + 1] + "day"</lang>
return weekdays[((day + today - 1) % 7) + 1] + "day"</syntaxhighlight>
{{out}}
{{out}}
<pre>working...
<pre>working...
Line 759: Line 759:
=={{header|Ruby}}==
=={{header|Ruby}}==
This uses the same years as the Raku example. The Ruby Date class does however take the calendar reform (default 1582) into account, so the days for 1578 differ from all other languages so far.
This uses the same years as the Raku example. The Ruby Date class does however take the calendar reform (default 1582) into account, so the days for 1578 differ from all other languages so far.
<lang ruby>require 'date'
<syntaxhighlight lang="ruby">require 'date'


years = [1578, 1590, 1642, 1957, 2020, 2021, 2022, 2242, 2245, 2393]
years = [1578, 1590, 1642, 1957, 2020, 2021, 2022, 2242, 2245, 2393]
Line 767: Line 767:
puts "In #{year}, New year's day is on a #{ny}, and Christmas day on #{xmas}."
puts "In #{year}, New year's day is on a #{ny}, and Christmas day on #{xmas}."
end
end
</syntaxhighlight>
</lang>
{{out}}
{{out}}
<pre>In 1578, New year's day is on a Wednesday, and Christmas day on Thursday.
<pre>In 1578, New year's day is on a Wednesday, and Christmas day on Thursday.
Line 786: Line 786:


The actual days for 1578 may have been different as the Gregorian calendar didn't start until 1582.
The actual days for 1578 may have been different as the Gregorian calendar didn't start until 1582.
<lang ecmascript>import "./date" for Date
<syntaxhighlight lang="ecmascript">import "./date" for Date


var years = [1578, 1590, 1642, 1957, 2020, 2021, 2022, 2242, 2245, 2393]
var years = [1578, 1590, 1642, 1957, 2020, 2021, 2022, 2242, 2245, 2393]
Line 793: Line 793:
var xmas = Date.new(year, 12, 25).weekDay
var xmas = Date.new(year, 12, 25).weekDay
System.print("In %(year), New year's day is on a %(newYear), and Christmas day on %(xmas).")
System.print("In %(year), New year's day is on a %(newYear), and Christmas day on %(xmas).")
}</lang>
}</syntaxhighlight>


{{out}}
{{out}}
Line 810: Line 810:


=={{header|XPL0}}==
=={{header|XPL0}}==
<lang XPL0>func WeekDay(Year, Month, Day); \Return address of day of week
<syntaxhighlight lang="xpl0">func WeekDay(Year, Month, Day); \Return address of day of week
int Year, Month, Day; \Works for years 1583 onward
int Year, Month, Day; \Works for years 1583 onward
int DayOfWeek, Names;
int DayOfWeek, Names;
Line 823: Line 823:
Text(0, "This New Year's Day is on a ");
Text(0, "This New Year's Day is on a ");
Text(0, WeekDay(2022, 1, 1)); CrLf(0);
Text(0, WeekDay(2022, 1, 1)); CrLf(0);
]</lang>
]</syntaxhighlight>


{{out}}
{{out}}