Salve, esiste una funzione in C che data una stringa gg-mm-aaaa, restituisca un giorno (0-6) della settimana ? Ad esempio f(21-08-2009) restituisca 5. Grazie
Salve, esiste una funzione in C che data una stringa gg-mm-aaaa, restituisca un giorno (0-6) della settimana ? Ad esempio f(21-08-2009) restituisca 5. Grazie
http://www.cppreference.com/wiki/c/date/strftimeOriginariamente inviato da PROGMAN
Salve, esiste una funzione in C che data una stringa gg-mm-aaaa, restituisca un giorno (0-6) della settimana ? Ad esempio f(21-08-2009) restituisca 5. Grazie
con %w hai quello che vuoi ^^
conoscenze: C/C++, Java, PHP, Python
[No PM tecnici o di qualsiasi genere]
Mi scuso ma sono alle prime armi in c... Ma per avere quel numero (ad esempio 5) devo aver inizializzato il campo t.tm_wday ? Io ho solamente la data e devo capire che giorno è da essa, cioè se è : domenica 0, lunedi 1, martedi 2 ... Il campo t.tm_wday è la mia incognita !!!
Grazie !!
è quello che faOriginariamente inviato da PROGMAN
Mi scuso ma sono alle prime armi in c... Ma per avere quel numero (ad esempio 5) devo aver inizializzato il campo t.tm_wday ? Io ho solamente la data e devo capire che giorno è da essa, cioè se è : domenica 0, lunedi 1, martedi 2 ... Il campo t.tm_wday è la mia incognita !!!
Grazie !!
ho modificato al volo l'esempio nn so se fungecodice:/* strftime example */ #include <stdio.h> #include <time.h> int main () { time_t rawtime; struct tm * timeinfo; char buffer [2]; time ( &rawtime ); timeinfo = localtime ( &rawtime ); strftime (buffer,2,"%w",timeinfo); puts (buffer); return 0; }
edit: mi è uscito 5 si funge ^^
conoscenze: C/C++, Java, PHP, Python
[No PM tecnici o di qualsiasi genere]
Grazie 1000 !!! Ho scoperto anche che si può utilizzare la funzione mktime !!!
Ma cosa è time_t ? Ciao ciao !
di nienteOriginariamente inviato da PROGMAN
Grazie 1000 !!! Ho scoperto anche che si può utilizzare la funzione mktime !!!
Ma cosa è time_t ? Ciao ciao !
http://www.cplusplus.com/reference/c.../ctime/time_t/
conoscenze: C/C++, Java, PHP, Python
[No PM tecnici o di qualsiasi genere]
Ciao, avevo lo stesso problema del ragazzo che ha aperto il post... Ora mi chiedevo per se fosse possibile memorizzare in risultato della funzione in un intero.. ho provato con:
int giorno = strftime (buffer,2,"%w",timeinfo);
oppure
int giorno = (int)today[0]; // ho messo anche 1 come indice
ma niente, non funziona... uno di voi due mi sa dare una dritta?!?!?!
strftime ritorna il numero di caratteri copiati nel primo argomento, nel tuo caso parliamo della variabile buffer.Originariamente inviato da Roberto90
int giorno = strftime (buffer,2,"%w",timeinfo);
Qui non mi è molto chiaro cosa stai cercando di fare..int giorno = (int)today[0]; // ho messo anche 1 come indice
I dati che ti interessano forse sono quelli che devi recuperare usando le funzioni e tipi di dati dichiarati nell' header time.h.
Qui c'è qualche informazione a riguardo che sicuramente ti può interessare.
![]()
in pratica volevo salvare il numero del giorno della settimana (0-6), che si ottiene con la funzione, in una variabile intera... ma non ci riesco...
in pratica il 5 (o il numero del giorno in cui siamo) che viene stampato facendo puts(buffer) lo volevo memorizzare in una variabile, ma i tentativi scritti sopra non funzionano...
Lo immaginavoOriginariamente inviato da Roberto90
in pratica volevo salvare il numero del giorno della settimana (0-6), che si ottiene con la funzione, in una variabile intera...![]()
Ti posto un esempio:
Vedi grassetto.codice:#include <time.h> #include <stdio.h> int main(void) { struct tm *date; time_t t; char *days[] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}; t = time(NULL); date = localtime(&t); printf("Today is: %s\n", days[date->tm_wday]); return 0; }
![]()