OT: den v tydnu
Brano Zarnovican
zarnovican na pobox.sk
Čtvrtek Únor 3 10:40:19 CET 2000
> Zdravim,
> mam takovy hloupy problem.
> Potreboval bych si zjisti den v tydnu z urciteho data a to byva vetsinou
> "nestandardni" - 56.12.2000. Zdala se mi pro to idealni funkce mktime(), ale
> vracelo mi to 0 a pak jsem se v manualu docetl, ze zrovna tm_wday a tm_yday
> to ignoruje. Nechce se mi to nejak pocitat, jeste do toho ty presupne roky,
> ...........
> Neexistuje neco, co by mi opravilo spatny format datumu a jeste zjistilo den
> v tydnu?
Ale 'mktime' predsa opravuje vadny datum.
Skonvertujete to cez 'mktime' do UTC a potom cez 'localtime' naspat
do struktury, z ktorej si vycitate tm_wday.
BranoZ
we:~/tmp$ ./mktime
25.1.2001 je 0 den v tyzdni
Asi to bude Nedela. Vyskusal som si 55.12.2000 a vratilo to 6.
#include <time.h>
main() {
struct tm cas, *pcas;
time_t utc;
cas.tm_min = cas.tm_sec = cas.tm_hour = 0;
cas.tm_mday = 56;
cas.tm_mon = 12;
cas.tm_year = 100;
utc = mktime( &cas );
pcas = localtime( &utc );
printf(" %d.%d.%d je %d den v tyzdni\n", pcas->tm_mday,
pcas->tm_mon, pcas->tm_year + 1900, pcas->tm_wday );
}
Další informace o konferenci Linux