datum in timestamp konvertieren



  • hi,

    gibt es eine möglichkeit datum "struct tm" in timestamp "time_t" zu konvertieren?

    thx





  • also ich versuche es so... und mktime liefert -1 zurück.

    struct tm bisDatum ;
    time_t timeT, bisTime ;
    
    time (&timeT) ;
    bisDatum = *localtime (&timeT) ;					
    bisDatum.tm_mday = 12 ;
    bisDatum.tm_mon = 2 ;
    bisDatum.tm_year = 2009 ;
    bisDatum.tm_sec = 0 ;
    bisDatum.tm_min = 0 ;
    bisDatum.tm_hour = 0 ;
    bisTime = mktime (&bisDatum) ;
    

    bisTime hat -1 😞 statt timestamp vom Datum 12.02.2009 00:00:00 Uhr

    HELP PLS... thx



  • Epoch error (read the fine manual: man: mktime).

    2009 bedeuted 1900 + 2009 = 3909, und bis dahin ist der Unix-Timestamp ein paar mal übergelaufen.
    Versuch's mal so:

    struct tm bisDatum;
        time_t timeT;
    
        bisDatum.tm_mday = 12;
        bisDatum.tm_mon = 1;       // Februar ist 1
        bisDatum.tm_year = 109;    // 2009 ist 109
        bisDatum.tm_sec = 0;
        bisDatum.tm_min = 0;
        bisDatum.tm_hour = 0;
        timeT = mktime(&bisDatum);
    
        printf("%d\n", timeT);
    

Anmelden zum Antworten