Message 202243 - Python tracker (original) (raw)
On 05.11.2013 21:31, STINNER Victor wrote:
2013/11/5 Alexander Belopolsky <report@bugs.python.org>:
+1 on adding an option to isoformat(). We already have an optional argument, so the symmetry with str is not complete. To make this option more useful, rather than implementing always_emit_microseconds=False flag, I would add a keyword argument 'precision' that would take ('hour'|'minute'|'second'|millisecond'|'microsecond') value.
Hour precision is not part of the ISO 8601 standard.
"resolution" is maybe a better name for the new parameter than "precision": http://www.python.org/dev/peps/pep-0418/#glossary
The new parameter should be added to datetime.datetime.isoformat() but also datetime.time.isoformat().
Since this ticket is about being able to remove the seconds fraction part, I think it's better to use a name that is not already overloaded with other meanings, e.g. show_us=False or show_microseconds=False.
BTW: Have you thought about the rounding/truncation issues associated with not showing microseconds ?
A safe bet is truncation, but this can lead to inaccuracies of up to a second. Rounding is difficult, since it can lead to a "60" second value showing up for e.g. 11:00:59.95 seconds, or the need to return "12:00:00" for 11:59:59.95.