tiny std.datetime question
Jonathan M Davis
jmdavisProg at gmx.com
Wed Jan 16 07:54:24 PST 2013
On Wednesday, January 16, 2013 09:15:39 n00b wrote:
> Nevermind, found it myself.
> SysTime* sys = new SysTime(standardTime, UTC());
> sys.hour;
>
> Le 16/01/2013 08:07, n00b a écrit :
> > Hello, I'm kinda ashamed to ask that here, but std.datetime
> > documentation is so complex... I only want to get hour/minute from a
> > t_time (no timezone).
> > I'm moving to D2, the equivalent code in D1 was:
> >
> > std.date.Date date;
> > date.parse(std.date.toUTCString(time));
> > date.hour;
Do you mean time_t (I've never heard of t_time)? You'll need to call
unixTimeToStdTime on a time_t if you want to pass it to SysTime's constructor.
And if you need to be careful of time_t if you're on Windows, because
Microsoft screwed it up (for some bizarre reason, they apply DST to time_t -
DST in the _local_ time zone - making it so that the offset between the local
time and time_t is always the same instead of making time_t UTC like it's
supposed to be). std.datetime assumes that you're dealing with a true time_t
which is in UTC if you give it a time_t. Also, if you haven't already, you
should read this article on std.datetime:
http://dlang.org/intro-to-datetime.html
- Jonathan m Davis
More information about the Digitalmars-d-learn
mailing list