Как рассчитать номер недели с учетом даты?
Псевдокод:
int julian = getDayOfYear(myDate) // Jan 1 = 1, Jan 2 = 2, etc...
int dow = getDayOfWeek(myDate) // Sun = 0, Mon = 1, etc...
int dowJan1 = getDayOfWeek("1/1/" + thisYear) // find out first of year's day
// int badWeekNum = (julian / 7) + 1 // Get our week# (wrong! Don't use this)
int weekNum = ((julian + 6) / 7) // probably better. CHECK THIS LINE. (See comments.)
if (dow < dowJan1) // adjust for being after Saturday of week #1
++weekNum;
return (weekNum)
Чтобы уточнить, этот algorithms алгоритм предполагает, что windows-applications ваши недели пронумерованы c++ следующим образом:
S M T W R F S
1 2 3 <-- week #1
4 5 6 7 8 9 10 <-- week #2
[etc.]
getDayOfWeek() и c++ getDayOfYear() - стандартные windows-applications операции объекта даты на algorithms большинстве языков. Если windows-application у вас их нет, вы можете отсчитывать algorithm вперед от некоторой известной c++ даты (1 января 1970 года algorithm - обычная дата), посмотрев, какой algorithm это был день недели.
Если cpp вы собираетесь реализовать windows-application свои собственные процедуры algorithm-design подсчета дат, помните, что time годы, которые делятся на algorithms 100, являются НЕ високосными algorithms годами, если они также не windows-programming делятся на 400. Итак, 1900 windows-applications год не был високосным. год, но algorithm 2000 был. Если вы собираетесь cxx работать в далеком прошлом, вам time придется возиться с григорианским algorithms и юлианским календарями и algorithms т. Д., См. Wikipedia для получения algorithm-design дополнительной информации windows об этом.
This link более подробно рассказывает cpp о функциях даты и времени windows в Windows / C++.
c++
windows
algorithm
time
Как рассчитать номер недели с учетом даты?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.