EPICS Home

Experimental Physics and Industrial Control System


 
1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: EPICS UTC Time conversion
From: Eric Norum <[email protected]>
To: "[email protected] Talk" <[email protected]>
Date: Tue, 16 Apr 2013 13:18:03 -0700
I'm trying to convert an EPICS time stamp into a string -- but in UTC, not the local time zone.

Here's my failing attempt:
epicsTimeStamp timestamp;
epicsTimeStamp utc;
struct tm ™;
unsigned long nsec;
char cbuf[80]; 
……
epicsTimeToGMTM(&tm, &nsec, &timestamp);
epicsTimeFromTM(&utc, &tm, 0);
epicsTimeToStrftime(cbuf, sizeof cbuf, "%F_%T", &utc); 

The resultant string is one hour off.  It's as if the routines above are trying to apply daylight savings time correction to UTC.

For example, consider the following POSIX time stamp:
date -u -r 1366124582
Tue Apr 16 15:03:02 UTC 2013

If, in the above code, I set
timestamp.secPastEpoch = 1366124582 - POSIX_TIME_AT_EPICS_EPOCH;
timestamp.nsec = 0;
 
The resultant string is: 2013-04-16_16:03:02

See how the hours are '16' instead of '15'.
So, what's the trick to getting a true UTC time string from an EPICS time stamp?

-- 
Eric Norum
[email protected]


Replies:
Re: EPICS UTC Time conversion Andrew Johnson
RE: EPICS UTC Time conversion Allison, Stephanie

Navigate by Date:
Prev: Re: sscan/ saveData problem with RW permission, and not an NFS issue Andrew Johnson
Next: Check Box widget in CSS BOY Hovanes Egiyan
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: Problem in installing asyn4-19 Mark Rivers
Next: Re: EPICS UTC Time conversion Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024