From: Grahame J. <gb...@th...> - 2009-09-28 07:20:19
|
Hi, I am having a problem here with gettimeofday() - Verdex. On my older builds I am using buildroot with uClibC on Connex. I can set some value in /etc/TZ such as UTC-10 and the date is good, comes out as UTC-10. gettimeofday() gives me the correct time offset by UTC-10 In OE using glibC the /etc/TZ variable has no effect upon the result of gettimeofday(), it comes out as UTC. If I set the TZ variable: export TZ="UTC-10" date gives me the correct date but not gettimeofday() still in UTC I think that this is a difference between uClibC and glibC but it is not clear how to control this in GlibC. uClibc seems to have defined in time.c __UCLIBC_HAS_TZ_FILE__ gLibC has no such definition. Any help appreciated. Thanks Grahame Jordan |
From: Dave H. <dhy...@gm...> - 2009-09-28 14:18:19
|
Hi Grahame, > In OE using glibC the /etc/TZ variable has no effect upon the result of > gettimeofday(), it comes out as UTC. > If I set the TZ variable: export TZ="UTC-10" date gives me the correct > date but not gettimeofday() still in UTC It's my understanding that gettimeofday and time should return the same value (for the seconds portion), and in both the cases, the time should be UTC time. localtime is the function that should respect the timezone setting and do the conversion. -- Dave Hylands Shuswap, BC, Canada http://www.DaveHylands.com/ |
From: Grahame J. <gb...@th...> - 2009-09-29 04:17:39
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type"> </head> <body bgcolor="#ffffff" text="#000000"> Dave Hylands wrote: <blockquote cite="mid:c32...@ma..." type="cite"> <pre wrap="">Hi Grahame, </pre> <blockquote type="cite"> <pre wrap="">In OE using glibC the /etc/TZ variable has no effect upon the result of gettimeofday(), it comes out as UTC. If I set the TZ variable: export TZ="UTC-10" date gives me the correct date but not gettimeofday() still in UTC </pre> </blockquote> <pre wrap=""><!----> It's my understanding that gettimeofday and time should return the same value (for the seconds portion), and in both the cases, the time should be UTC time. localtime is the function that should respect the timezone setting and do the conversion. </pre> </blockquote> Yes I am actually using localtime() in the part of my code that gives me the string representation of the time.<br> This behaves differently between the uClibC build and the glibC build.<br> <br> In glibC if I link /usr/share/zoneinfo/Australia/Melbourne /etc/localtime it all works<br> In uClibC all I need to do is put some entry in /etc/TZ such as "UTC-10" and it works<br> <br> The reason I am wanting to use /etc/TZ method is that I can set the time from the Host OS on the Gumstix by parsing seconds|milliseconds| tzoffset<br> The tzoffset I convert to -offsetHours and put that value into /etc/TZ as UTC${offsetHours} eg. UTC-10 or any other combination of UTC+-XX<br> <br> With glibC this seems to make things more complicated. Maybe there is a simple way with glibC?<br> <br> <br> <br> <br> </body> </html> |
From: Dave H. <dhy...@gm...> - 2009-09-29 05:49:24
|
Hi Grahame, > Yes I am actually using localtime() in the part of my code that gives me the > string representation of the time. > This behaves differently between the uClibC build and the glibC build. > > In glibC if I link /usr/share/zoneinfo/Australia/Melbourne /etc/localtime it > all works > In uClibC all I need to do is put some entry in /etc/TZ such as "UTC-10" and > it works > > The reason I am wanting to use /etc/TZ method is that I can set the time > from the Host OS on the Gumstix by parsing seconds|milliseconds| tzoffset > The tzoffset I convert to -offsetHours and put that value into /etc/TZ as > UTC${offsetHours} eg. UTC-10 or any other combination of UTC+-XX > > With glibC this seems to make things more complicated. Maybe there is a > simple way with glibC? You should be able to set the TZ environment variable. I tested this under ubuntu and it works fine. export TZ=UTC-10 You can also use setenv from with a C program (affects the C program and any child processes). -- Dave Hylands Shuswap, BC, Canada http://www.DaveHylands.com/ |
From: Grahame J. <gb...@th...> - 2009-09-30 03:33:41
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type"> </head> <body bgcolor="#ffffff" text="#000000"> Dave Hylands wrote: <blockquote cite="mid:c32...@ma..." type="cite"> <pre wrap="">Hi Grahame, </pre> <blockquote type="cite"> <pre wrap="">Yes I am actually using localtime() in the part of my code that gives me the string representation of the time. This behaves differently between the uClibC build and the glibC build. In glibC if I link /usr/share/zoneinfo/Australia/Melbourne /etc/localtime it all works In uClibC all I need to do is put some entry in /etc/TZ such as "UTC-10" and it works The reason I am wanting to use /etc/TZ method is that I can set the time from the Host OS on the Gumstix by parsing seconds|milliseconds| tzoffset The tzoffset I convert to -offsetHours and put that value into /etc/TZ as UTC${offsetHours} eg. UTC-10 or any other combination of UTC+-XX With glibC this seems to make things more complicated. Maybe there is a simple way with glibC? </pre> </blockquote> <pre wrap=""><!----> You should be able to set the TZ environment variable. I tested this under ubuntu and it works fine. export TZ=UTC-10 You can also use setenv from with a C program (affects the C program and any child processes). </pre> </blockquote> Yes setenv() does the trick.<br> <br> Many Thanks<br> <br> Grahame Jordan<br> </body> </html> |