Converting Between struct:time and ISO8601 Format
From Erlang Community
(Difference between revisions)
| Revision as of 22:31, 21 November 2006 (edit) Gordon guthrie (Talk | contribs) ← Previous diff |
Revision as of 06:37, 9 March 2007 (edit) (undo) Bfulgham (Talk | contribs) (→Solution) Next diff → |
||
| Line 19: | Line 19: | ||
| </code> | </code> | ||
| - | However, if you're writing a web application, you may need to observe the W3C profile for time formats, which is slightly different. See the | + | However, if you're writing a web application, you may need to observe the W3C profile for time formats, which is slightly different. See the [[RFC1123_Dates_and_Times]] Recipe for details: |
| The nice thing about the W3C profile of the ISO 8601 format is that it's very easy to sort dates using a simple string compare. | The nice thing about the W3C profile of the ISO 8601 format is that it's very easy to sort dates using a simple string compare. | ||
| [[Category:CookBook]][[Category:DateTimeRecipes]] | [[Category:CookBook]][[Category:DateTimeRecipes]] | ||
Revision as of 06:37, 9 March 2007
Problem
You have an application that requires you to use ISO-8601 Format for input and output.
Solution
Unfortunately, no Erlang libraries provide this functionality. Luckily, the native Erlang date and time formats are very easy to format for display or transmission, even in ISO-8061 format:
iso_8601_fmt(DateTime) ->
{{Year,Month,Day},{Hour,Min,Sec}} = DateTime,
io_lib:format("~4.10.0B-~2.10.0B-~2.10.0B ~2.10.0B:~2.10.0B:~2.10.0B",
[Year, Month, Day, Hour, Min, Sec]).
1> CurrDateTime = erlang:localtime().
{{2004,8,28},{1,19,37}}
2> {{Year,Month,Day},{Hour,Min,Sec}} = CurrDateTime.
{{2004,8,28},{1,19,37}}
3> io:fwrite("~s\n",[iso_8601_fmt(erlang:localtime())]).
2004-08-28 01:48:48
|
However, if you're writing a web application, you may need to observe the W3C profile for time formats, which is slightly different. See the RFC1123_Dates_and_Times Recipe for details:
The nice thing about the W3C profile of the ISO 8601 format is that it's very easy to sort dates using a simple string compare.

Digg It
Del.icio.us
Reddit
Facebook
Stumble Upon
Technorati

