converting to time_t

Discussion in 'C Programming' started by Anand CS, Jul 3, 2003.

  1. Anand CS

    Anand CS Guest

    Hi All
    I have question regarding time data structures...
    I have 64 bit unsigned microsecond resolution
    (unsigned __int64 for windows/and unsigned long long for others)
    variable. It stores the microsoconds elapsed since the Epoch...

    I want to convert this time into a string form....
    AFAIK normally the procedure from a time_t structure to string format
    is something like...convert time_ to struct tm using localtime
    method......
    as shown below..

    time_t result;
    result = time(NULL);
    printf("%s\n", asctime(localtime(&result)));

    But in my case I dont have a time_t structure as shown above but a
    unsigned 64 bit value....How do I convert this to a time_t type
    (portably) and use the same procedure shown above...

    Any suggestions
    Thanks
    Senthil
     
    Anand CS, Jul 3, 2003
    #1
    1. Advertisements

  2. time(null) returns the number of seconds since the epoch. The easiest thing
    for you to do is something like:

    uint64_t mytime;
    time_t realtime;

    mytime = getmytimefunc();
    realtime = (time_t) (mytime / 1000000);
    printf("%s\n", asctime(localtime(&result)));

    Obviously it will loose the microsecond resolution.

    Luke
     
    Luke Driscoll, Jul 3, 2003
    #2
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.