Date manipulation: Difference between revisions

added d language
(added d language)
Line 642:
Given: 2009-03-07T19:30:00-05:00
2009-03-08/07:30:00-05:00
</pre>
 
=={{header|D}}==
<lang d>
import std.stdio;
import std.format;
import std.datetime;
import std.algorithm;
 
enum months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
 
void main()
{
// input
string date = "March 7 2009 7:30pm EST";
 
// parsing date string to integer values
string month, md, tz;
int day, year, hour, minute;
date.formattedRead("%s %d %d %d:%d%s %s", &month, &day, &year, &hour, &minute, &md, &tz);
int mon = cast (int) months.countUntil(month) + 1;
 
// convert to 24-hour
if (md == "pm")
hour += 12;
 
// create date from integer
DateTime dt = DateTime(year, mon, day, hour, minute);
 
// output
writeln(dt);
writeln(dt + 12.hours);
}
 
</lang>
{{out}}
<pre>
2009-Mar-07 19:30:00
2009-Mar-08 07:30:00
</pre>
 
Line 730 ⟶ 770:
 
{{out}}
"03/08/2009 07:30 AM"
 
=={{header|EchoLisp}}==
Anonymous user