Connecting Tech Pros Worldwide Forums | Help | Site Map

Acessing the "time" Part of time_t Value

Mike Copeland
Guest
 
Posts: n/a
#1: Nov 20 '08
How do I mask out all but the _time_ components of a time_t value?
Specifically, I have the following:
time_t wTime = 1226764757;
I happen to know that this is November 16, 2008 @ 8:59:17, but I have
many other such items from which I want to use only the _time_ portion
(e.g. 8:59:17). How do I eliminate the "date" portions of either the
time_t value or the number I assign to it? TIA

miso.liptak
Guest
 
Posts: n/a
#2: Nov 20 '08

re: Acessing the "time" Part of time_t Value


On Nov 20, 8:03*am, mrc2...@cox.net (Mike Copeland) wrote:
Quote:
* *How do I mask out all but the _time_ components of a time_t value?*
Specifically, I have the following:
* * * * time_t wTime = 1226764757;
* *I happen to know that this is November 16, 2008 @ 8:59:17, but I have
many other such items from which I want to use only the _time_ portion
(e.g. 8:59:17). *How do I eliminate the "date" portions of either the
time_t value or the number I assign to it? *TIA
Is number of seconds since midnight what you want? time(0) % 86400?
m.
Pete Becker
Guest
 
Posts: n/a
#3: Nov 20 '08

re: Acessing the "time" Part of time_t Value


On 2008-11-20 02:03:33 -0500, mrc2323@cox.net (Mike Copeland) said:
Quote:
How do I mask out all but the _time_ components of a time_t value?
Specifically, I have the following:
time_t wTime = 1226764757;
I happen to know that this is November 16, 2008 @ 8:59:17, but I have
many other such items from which I want to use only the _time_ portion
(e.g. 8:59:17). How do I eliminate the "date" portions of either the
time_t value or the number I assign to it? TIA
Use gmtime() or localtime() to convert it to a tm.

--
Pete
Roundhouse Consulting, Ltd. (www.versatilecoding.com) Author of "The
Standard C++ Library Extensions: a Tutorial and Reference
(www.petebecker.com/tr1book)

Pete Becker
Guest
 
Posts: n/a
#4: Nov 20 '08

re: Acessing the "time" Part of time_t Value


On 2008-11-20 02:56:08 -0500, "miso.liptak" <miso.liptak@gmail.comsaid:
Quote:
On Nov 20, 8:03Â*am, mrc2...@cox.net (Mike Copeland) wrote:
Quote:
>Â* Â*How do I mask out all but the _time_ components of a time_t value?
Â*
Quote:
>Specifically, I have the following:
>Â* Â* Â* Â* time_t wTime = 1226764757;
>Â* Â*I happen to know that this is November 16, 2008 @ 8:59:17, but I h
ave
Quote:
>many other such items from which I want to use only the _time_ portion
>(e.g. 8:59:17). Â*How do I eliminate the "date" portions of either the
>time_t value or the number I assign to it? Â*TIA
>
Is number of seconds since midnight what you want? time(0) % 86400?
m.
The requirement (from the C standard) is that time_t is an "arithmetic
type capable of representing times ...". That's all. It doesn't have to
represent seconds, nor does it have to be based on midnight.

--
Pete
Roundhouse Consulting, Ltd. (www.versatilecoding.com) Author of "The
Standard C++ Library Extensions: a Tutorial and Reference
(www.petebecker.com/tr1book)

James Kanze
Guest
 
Posts: n/a
#5: Nov 20 '08

re: Acessing the "time" Part of time_t Value


On Nov 20, 8:56 am, "miso.liptak" <miso.lip...@gmail.comwrote:
Quote:
On Nov 20, 8:03 am, mrc2...@cox.net (Mike Copeland) wrote:
Quote:
Quote:
How do I mask out all but the _time_ components of a time_t
value? Specifically, I have the following:
time_t wTime = 1226764757;
I happen to know that this is November 16, 2008 @ 8:59:17,
but I have many other such items from which I want to use
only the _time_ portion (e.g. 8:59:17). How do I eliminate
the "date" portions of either the time_t value or the number
I assign to it? TIA
Quote:
Is number of seconds since midnight what you want? time(0) %
86400?
That depends on how precise and how portable you have to be.
Not all days have exactly 86400 seconds, and time_t can be any
numeric type, with any representation---if it uses the
representation that was current in MS-DOS, your results are
meaningless, and if it is a double, your solution won't even
compile. (But for a lot of uses, it's adequate. It's what I
currently do---but in my case, even if I'm a minute or so off,
it's no big deal, and I only have to support
Unix-likes---Solaris and Linux.)

--
James Kanze (GABI Software) email:james.kanze@gmail.com
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34

Closed Thread