Convert duration to years?
Dave Chapman via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sat Jan 14 22:23:56 PST 2017
On Sunday, 15 January 2017 at 03:43:32 UTC, Nestor wrote:
> Hi,
>
> I would simply like to get someone's age, but I am a little
> lost with time and date functions. I can already get the
> duration, but after reading the documentation it's unclear to
> me how to convert that into years. See following code:
>
> import std.stdio;
>
> void getAge(int yyyy, int mm, int dd) {
> import std.datetime;
> SysTime t1 = SysTime(Date(yyyy, mm, dd));
> SysTime t2 = Clock.currTime();
> writeln(t2 - t1);
> }
>
> int main() {
> try
> getAge(1980, 1, 1);
> catch(Exception e) {
> writefln("%s.\n(%s, line %s)", e.msg, e.file, e.line);
> }
> }
>
> Notice getAge should return ubyte instead of void, only I
> haven't been able to find how to do it. Any suggestion would be
> welcome.
>
> Thanks in advance.
Does this do what you want?
import std.stdio;
uint getAge(int yyyy, int mm, int dd) {
import std.datetime;
SysTime t1 = SysTime(Date(yyyy, mm, dd));
SysTime t2 = Clock.currTime();
return( (t2.year - t1.year));
}
void main() {
auto age = getAge(1980, 1, 1);
writefln("age is %s", age);
}
More information about the Digitalmars-d-learn
mailing list