www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Get current date and time with std.datetime

reply Joel Christensen <joelcnz gmail.com> writes:
Hi,

I have a program that uses the old time stuff before the module 
std.datetime. I have a DateTime object, but I can't seem to set its 
properties to the current time.

Some thing like:
DateTime dateTime;
dateTime = getCurrentDateTime();

-JoelCNZ
Oct 06 2011
parent reply Jonathan M Davis <jmdavisProg gmx.com> writes:
On Friday, October 07, 2011 19:08:33 Joel Christensen wrote:
 Hi,
 
 I have a program that uses the old time stuff before the module
 std.datetime. I have a DateTime object, but I can't seem to set its
 properties to the current time.
 
 Some thing like:
 DateTime dateTime;
 dateTime = getCurrentDateTime();
http://d-programming-language.org/intro-to-datetime.html
Oct 06 2011
next sibling parent reply Jacob Carlborg <doob me.com> writes:
On 2011-10-07 08:15, Jonathan M Davis wrote:
 On Friday, October 07, 2011 19:08:33 Joel Christensen wrote:
 Hi,

 I have a program that uses the old time stuff before the module
 std.datetime. I have a DateTime object, but I can't seem to set its
 properties to the current time.

 Some thing like:
 DateTime dateTime;
 dateTime = getCurrentDateTime();
http://d-programming-language.org/intro-to-datetime.html
May I suggest that you put an example on top of that article that gets the current date and time. -- /Jacob Carlborg
Oct 06 2011
next sibling parent Jonathan M Davis <jmdavisProg gmx.com> writes:
On Friday, October 07, 2011 08:23:10 Jacob Carlborg wrote:
 On 2011-10-07 08:15, Jonathan M Davis wrote:
 On Friday, October 07, 2011 19:08:33 Joel Christensen wrote:
 Hi,
 
 I have a program that uses the old time stuff before the module
 std.datetime. I have a DateTime object, but I can't seem to set its
 properties to the current time.
 
 Some thing like:
 DateTime dateTime;
 dateTime = getCurrentDateTime();
http://d-programming-language.org/intro-to-datetime.html
May I suggest that you put an example on top of that article that gets the current date and time.
It's already in the documentation at the top of the module. What I need to do is put a link to the article in that documetantion. - Jonathan M Davis
Oct 06 2011
prev sibling parent reply Jonathan M Davis <jmdavisProg gmx.com> writes:
On Thursday, October 06, 2011 23:31:26 Jonathan M Davis wrote:
 On Friday, October 07, 2011 08:23:10 Jacob Carlborg wrote:
 On 2011-10-07 08:15, Jonathan M Davis wrote:
 On Friday, October 07, 2011 19:08:33 Joel Christensen wrote:
 Hi,
 
 I have a program that uses the old time stuff before the module
 std.datetime. I have a DateTime object, but I can't seem to set
 its
 properties to the current time.
 
 Some thing like:
 DateTime dateTime;
 dateTime = getCurrentDateTime();
http://d-programming-language.org/intro-to-datetime.html
May I suggest that you put an example on top of that article that gets the current date and time.
It's already in the documentation at the top of the module. What I need to do is put a link to the article in that documetantion.
I just added a link to the article to std.datetime, so it'll be there starting with the next release. What I'd _really_ like to see fixed though is the anchor-generation with ddoc so that I can actually properly organize the links at the top of std.datetime. - Jonathan M Davis
Oct 06 2011
parent Jacob Carlborg <doob me.com> writes:
On 2011-10-07 08:54, Jonathan M Davis wrote:
 On Thursday, October 06, 2011 23:31:26 Jonathan M Davis wrote:
 On Friday, October 07, 2011 08:23:10 Jacob Carlborg wrote:
 On 2011-10-07 08:15, Jonathan M Davis wrote:
 On Friday, October 07, 2011 19:08:33 Joel Christensen wrote:
 Hi,

 I have a program that uses the old time stuff before the module
 std.datetime. I have a DateTime object, but I can't seem to set
 its
 properties to the current time.

 Some thing like:
 DateTime dateTime;
 dateTime = getCurrentDateTime();
http://d-programming-language.org/intro-to-datetime.html
May I suggest that you put an example on top of that article that gets the current date and time.
It's already in the documentation at the top of the module. What I need to do is put a link to the article in that documetantion.
I just added a link to the article to std.datetime, so it'll be there starting with the next release. What I'd _really_ like to see fixed though is the anchor-generation with ddoc so that I can actually properly organize the links at the top of std.datetime. - Jonathan M Davis
That would be nice too. -- /Jacob Carlborg
Oct 07 2011
prev sibling parent reply Joel Christensen <joelcnz gmail.com> writes:
 http://d-programming-language.org/intro-to-datetime.html
Thanks Jonathan, that helped I think, (haven't read it all, though). But I've got errors with some of the date times not being able to change them with int's values. task.d(44): Error: function std.datetime.DateTime.month () const is not callable using argument types (int) task.d(44): Error: cannot implicitly convert expression (month0) of type int to Month -JoelCNZ
Oct 06 2011
parent reply Jonathan M Davis <jmdavisProg gmx.com> writes:
On Friday, October 07, 2011 19:58:12 Joel Christensen wrote:
 http://d-programming-language.org/intro-to-datetime.html
Thanks Jonathan, that helped I think, (haven't read it all, though). But I've got errors with some of the date times not being able to change them with int's values. task.d(44): Error: function std.datetime.DateTime.month () const is not callable using argument types (int) task.d(44): Error: cannot implicitly convert expression (month0) of type int to Month
Month is an enum. So, any function taking a month must take an enum value, not an integer. e.g. Month.jan, Month.feb, Month.mar, etc. If you want to pass it an integral value, you have to cast. e.g. cast(Month)1, cast(Month)2, cast(Month)3, etc. - Jonathan M Davis
Oct 24 2011
parent reply Luke Picardo <Picardo12 mail.com> writes:
On Monday, 24 October 2011 at 15:29:41 UTC, Jonathan M Davis 
wrote:
 On Friday, October 07, 2011 19:58:12 Joel Christensen wrote:
 http://d-programming-language.org/intro-to-datetime.html
Thanks Jonathan, that helped I think, (haven't read it all, though). But I've got errors with some of the date times not being able to change them with int's values. task.d(44): Error: function std.datetime.DateTime.month () const is not callable using argument types (int) task.d(44): Error: cannot implicitly convert expression (month0) of type int to Month
Month is an enum. So, any function taking a month must take an enum value, not an integer. e.g. Month.jan, Month.feb, Month.mar, etc. If you want to pass it an integral value, you have to cast. e.g. cast(Month)1, cast(Month)2, cast(Month)3, etc. - Jonathan M Davis
Why is it so hard to simply get the current date and time formatted properly in a string? There are no examples of this in your documentation yet this is probably one of the most used cases.
Jun 30 2016
parent reply Zekereth <viserion.thrall gmail.com> writes:
On Thursday, 30 June 2016 at 21:18:22 UTC, Luke Picardo wrote:
 Why is it so hard to simply get the current date and time 
 formatted properly in a string?

 There are no examples of this in your documentation yet this is 
 probably one of the most used cases.
To get the current time, use Clock.currTime. It will return the current time as a SysTime. To print it, toString is sufficient, but if using toISOString, toISOExtString, or toSimpleString, use the corresponding fromISOString, fromISOExtString, or fromSimpleString to create a SysTime from the string. auto currentTime = Clock.currTime(); auto timeString = currentTime.toISOExtString(); auto restoredTime = SysTime.fromISOExtString(timeString);
Jul 01 2016
parent Joel <joelcnz gmail.com> writes:
On Friday, 1 July 2016 at 15:28:04 UTC, Zekereth wrote:
 On Thursday, 30 June 2016 at 21:18:22 UTC, Luke Picardo wrote:
 Why is it so hard to simply get the current date and time 
 formatted properly in a string?

 There are no examples of this in your documentation yet this 
 is probably one of the most used cases.
To get the current time, use Clock.currTime. It will return the current time as a SysTime. To print it, toString is sufficient, but if using toISOString, toISOExtString, or toSimpleString, use the corresponding fromISOString, fromISOExtString, or fromSimpleString to create a SysTime from the string. auto currentTime = Clock.currTime(); auto timeString = currentTime.toISOExtString(); auto restoredTime = SysTime.fromISOExtString(timeString);
This is what I use: auto getDateTimeString() { import std.string; import std.datetime; DateTime dateTime = cast(DateTime)Clock.currTime(); with(dateTime) { return format( "%s " // day of the week (eg. 'Saturday') "%s.%02s.%s " // date, month, year "[%s:%02s:%02s%s]", // hour:minute:second am/pm split("Sunday Monday Tuesday Wednesday Thursday Friday Saturday")[dayOfWeek], day, cast(int)month, year, hour == 0 || hour == 12 ? 12 : hour % 12, minute, second, hour <= 11 ? "am" : "pm"); } }
Aug 22 2016