Day of the week: Difference between revisions

→‎{{header|Vedit macro language}}: Simplified by using built-in function JDate()
No edit summary
(→‎{{header|Vedit macro language}}: Simplified by using built-in function JDate())
Line 873:
<lang vedit>
Buf_Switch(Buf_Free)
#1 = 25; #2 = 12
for (#3 = 2008; #3 < 2122; #3++) {
CallReg_Set(10, "WEEKDAY12/25/")
if (#7 == 1) { Num_InsNum_Str(#3, NOCR10, LEFT+APPEND) }
if (JDate(@10) % 7 == 0) {
Num_Ins(#3, NOCR)
#13--}
}
Return
 
/////////////////////////////////////////////////////////////
//
// Calculate weekday using Zeller's congruence
// #1 = day, #2 = month, #3 = year
// On return: #7 = weekday (0 = Sat ... 6 = Fri)
//
:WEEKDAY:
#12 = #2 // month tmp
#13 = #3 // year tmp
if (#12 < 3) {
#12 += 12
#13--
}
#4 = #13 % 100
#5 = #13 / 100
#7 = (#1 + (#12+1)*26/10 + #4 + #4/4 + #5/4 + #5*5) % 7
Return
</lang>
 
Anonymous user