PDA

View Full Version : [C/time.h] strptime non interpreta GMT


Damage92
30-01-2010, 17:18
Salve!
Questo programma dovrebbe convertire una stringa formattata in un certo modo, in una data di tipo time_t (su linux ovviamente).


#include <stdio.h>
#include <time.h>

main()
{
char stringa[] = "Sat, 30 Jan 2010 18:04:00 UTC";
struct tm tempo;
time_t data;

strptime (stringa, "%A, %d %b %Y %H:%M:%S %z", &tempo);

data = mktime(&tempo);
printf("\n%ld\n", data);

}


Se lancio date -ud@<valore stampato> per vedere se ha convertito bene, mi da una data diversa, precisamente due ore prima... come se avesse usato un fuso orario. Ma nella stringa c'è scritto GMT, e anche il risultato del comando "date" riporta UTC!
Togliendo GMT dalla stringa il risultato è lo stesso, come se non lo prendesse in considerazione.