$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
From: Andrew Schweitzer (a.schweitzer.grps_at_[hidden])
Date: 2006-08-22 22:36:29
gdprosch_at_[hidden] wrote:
> I would like to convert epoch(long) time values to boost ptime and vice 
> versa.  On the surface this seems relatively easy but some of the 
> functions needed are missing and there is an issue ensuring that the 
> local time is properly applied.  Has someone come up with an easy way to 
> do this?
> 
> I can convert to ptime like this
> 
> long epoch_in = 1140411002;   // 2006-Feb-19 21:50:02
> std::time_t stdtime ( epoch_in );
> ptime = from_time_t( stdtime );
> 
> To convert from ptime back to epoch(long) there is no conversion 
> provided the other way.  I found some code the author supplied a few 
> years ago here:  
> ___http://listarchives.boost.org/MailArchives/boost-users/msg07254.php_  
> Unfortunately, the result does not correctly apply local time.  The 
> following code
> 
> std::time_t to_time_t(ptime t)
> {
>    ptime start(gregorian::date(1970,1,1),time_duration(0,0,0));
>    return (t-start).total_seconds();
> }
> 
> 
 produces a date with the value: 2006-Feb-20 04:50:02 and not 
> 2006-Feb-19 21:50:02  (I am in US MST).
> 
> I've played around with applying the local offset but I end up with a 
> lot of lines of code that leave me wondering if there is a better way.
> 
> It would be nice if it were simple like this (assuming local time 
> adjustment is correctly applied)
> 
Yes, all our stuff in in UTC.
> long epoch_in = 1140411002;   // 2006-Feb-19 21:50:02
> ptime pt = from_epoch( epoch_in );
> long epoch_out = to_epoch( pt );
> 
Did you find a solution to this?
In windows/MFC I did GetSystemTime, GetLocalTime, converted both to 
CTimes, which can produce a UTC, subtracted the two, then subtracted the 
  difference from whatever UTC system time was passed in.
> 
> Many thanks,
> Greg Prosch
> Micron Technology, Inc.
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://listarchives.boost.org/mailman/listinfo.cgi/boost-users