2010-06-10 12 views

Respuesta

18

Según la msdn, el miembro wDayOfWeek se ignora al convertir SYSTEMTIME-FILETIME. Al convertir la espalda, está lleno de.

SYSTEMTIME t = { 2010, 6, -1 /*ignored*/, 11 }; 
FILETIME ft; 
HRESULT hrto = SystemTimeToFileTime(&t, &ft); 
HRESULT hrback = FileTimeToSystemTime(&ft, &t); 

WORD dayofweek = t.wDayOfWeek; 
1

Uso SystemTimeToFileTime para convertir el SYSTEMTIME a un FILETIME. Luego use FileTimeToSystemTime para convertirlo a SYSTEMTIME con el día de la semana.

12

Otra forma de hacerlo que podría ser un poco más independiente de la plataforma sería usar localtime o gmtime.

Por ejemplo, imprimir día actual de la semana:

struct tm *timeval; 
time_t tt; 
tt = time(NULL); 
timeval = localtime(&tt); 
// print zero based day of week 
printf("day of week = %d\n", timeval->tm_wday); 
+0

Gracias por su respuesta Marcos –

Cuestiones relacionadas