Процедура MATLAB:
функция w = день недели (м, д, ци)
если m> 2, m = m-2; иначе m = m + 10; cy = cy-1; конец;
c = fix (cy / 100); y = mod (cy, 100);
w = mod (d + fix (m * 2.59) + fix (y * 1.25) + fix (c * 5.25), 7);
Хитрость заключается в том, чтобы поставить 1 марта первым днем года.
Независимо от того, является ли дата високосным годом или нет.
Примеры:
w = week_day(01,23,2016) ---> w = 6 {Sat) Today
w = week_day(12,31,1999) ---> w = 5 {Fri)
w = week_day(01,01,2000) ---> w = 6 {Sat)
w = week_day(02,28,1900) ---> w = 3 {Wed) not leap year
w = week_day(03,01,1900) ---> w = 4 {Thu)
w = week_day(02,29,2000) ---> w = 2 {Tue) leap year
w = week_day(03,01,2000) ---> w = 3 {Wed)
Пожалуйста, обратитесь ID файла обмена файлами Mathwork # 54784
Фен Ченг Чанг