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
    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
    Anand CS, Jul 3, 2003
    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 Driscoll, Jul 3, 2003
    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.