`` Day of week
`` www.scriptol.org
`` this source is public domain
int dow(int y, int m, int d)
if m < 3
m + 13
y - 1
else
m + 1
/if
return (d + ((26 * m) / 10) + y + (y / 4) - (y / 100) + (y / 400) + 5) mod 7
void usage()
print "Usage: dow yy mm dd"
exit(1)
return
int main(int argc, array argv)
int DayOfWeek
int d, m, y
array days = array(31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
array day = array( "Monday", "Tuesday", "Wednesday", "Thursday",
"Friday", "Saturday", "Sunday")
array month = array("January", "February", "March", "April",
"May", "June", "July", "August",
"September", "October", "November", "December")
if argc < 4 let usage()
y = argv[1].toInt()
m = argv[2].toInt()
d = argv[3].toInt()
if not (m in 1..12) let usage()
if not (d in 1..31) let usage()
if y < 100 let y + 2000
DayOfWeek = dow(y, m, d)
print d, month[m - 1], y, "is a", day[DayOfWeek]
return 0
main($argc, $argv)