From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ian Price Newsgroups: gmane.lisp.guile.bugs Subject: bug#12246: [patch] iso 8601 specifies zero padding, not space padding Date: Tue, 21 Aug 2012 12:21:58 +0100 Message-ID: <87628csd61.fsf@Kagami.home> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: ger.gmane.org 1345548170 18702 80.91.229.3 (21 Aug 2012 11:22:50 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 21 Aug 2012 11:22:50 +0000 (UTC) To: 12246@debbugs.gnu.org Original-X-From: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Tue Aug 21 13:22:50 2012 Return-path: Envelope-to: guile-bugs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1T3mXp-0000HU-Er for guile-bugs@m.gmane.org; Tue, 21 Aug 2012 13:22:49 +0200 Original-Received: from localhost ([::1]:54520 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T3mXn-0005gy-Pu for guile-bugs@m.gmane.org; Tue, 21 Aug 2012 07:22:47 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:55328) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T3mXl-0005gt-F7 for bug-guile@gnu.org; Tue, 21 Aug 2012 07:22:46 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T3mXk-0004Ik-7h for bug-guile@gnu.org; Tue, 21 Aug 2012 07:22:45 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:59750) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T3mXk-0004Ig-2a for bug-guile@gnu.org; Tue, 21 Aug 2012 07:22:44 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1T3mY2-0006Cl-8I for bug-guile@gnu.org; Tue, 21 Aug 2012 07:23:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Ian Price Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-guile@gnu.org Resent-Date: Tue, 21 Aug 2012 11:23:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 12246 X-GNU-PR-Package: guile X-GNU-PR-Keywords: patch X-Debbugs-Original-To: bug-guile@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.134554815823819 (code B ref -1); Tue, 21 Aug 2012 11:23:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 21 Aug 2012 11:22:38 +0000 Original-Received: from localhost ([127.0.0.1]:41063 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T3mXd-0006C8-RR for submit@debbugs.gnu.org; Tue, 21 Aug 2012 07:22:38 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:44514) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1T3mXb-0006C0-Az for submit@debbugs.gnu.org; Tue, 21 Aug 2012 07:22:36 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T3mXH-0004ET-IL for submit@debbugs.gnu.org; Tue, 21 Aug 2012 07:22:16 -0400 Original-Received: from lists.gnu.org ([208.118.235.17]:35830) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T3mXH-0004EN-F8 for submit@debbugs.gnu.org; Tue, 21 Aug 2012 07:22:15 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:55156) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T3mXG-0005ej-AU for bug-guile@gnu.org; Tue, 21 Aug 2012 07:22:15 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T3mXF-0004E3-5m for bug-guile@gnu.org; Tue, 21 Aug 2012 07:22:14 -0400 Original-Received: from plane.gmane.org ([80.91.229.3]:36392) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T3mXE-0004Ds-VG for bug-guile@gnu.org; Tue, 21 Aug 2012 07:22:13 -0400 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1T3mXD-0008JI-3A for bug-guile@gnu.org; Tue, 21 Aug 2012 13:22:11 +0200 Original-Received: from host86-182-156-79.range86-182.btcentralplus.com ([86.182.156.79]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 21 Aug 2012 13:22:11 +0200 Original-Received: from ianprice90 by host86-182-156-79.range86-182.btcentralplus.com with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 21 Aug 2012 13:22:11 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 94 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: host86-182-156-79.range86-182.btcentralplus.com User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux) Cancel-Lock: sha1:cK3pqwgz0hHnwzDlMkzZhuF25xk= X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 140.186.70.43 X-BeenThere: bug-guile@gnu.org List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Original-Sender: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.bugs:6498 Archived-At: --=-=-= In srfi 19, there is convenience format directives for various ISO 8601 date/time formats. i.e. ~2 ISO-8601 time+zone, `~k:~M:~S~z' ~3 ISO-8601 time, `~k:~M:~S' ~4 ISO-8601 date/time+zone, `~Y-~m-~dT~k:~M:~S~z' ~5 ISO-8601 date/time, `~Y-~m-~dT~k:~M:~S' However, ~k is incorrect here, as iso 8601 specifies that hours have two digits (i.e. 9am is "09") which means the ~H directive. Funnily enough, if you look in srfi-19.scm itself you even see (define iso-8601-date-time-format "~Y-~m-~dT~H:~M:~S~z") note, the ~H. I've attached a patch to fix these. -- Ian Price -- shift-reset.com "Programming is like pinball. The reward for doing it well is the opportunity to do it again" - from "The Wizardy Compiled" --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-ISO-8601-time-format-specifies-zero-padding-for-hour.patch Content-Description: srfi-19 patch >From befdf71b04a0d1c02947457baa3c7e5f152b7e8e Mon Sep 17 00:00:00 2001 From: Ian Price Date: Tue, 21 Aug 2012 12:13:25 +0100 Subject: [PATCH] ISO 8601 time format specifies zero padding for hours, not blank padding. * doc/ref/srfi-modules.texi ("SRFI-19 Date to string"): Fix iso 8601 format strings. * module/srfi/srfi-19.scm (directives): Fix iso 8601 format strings. --- doc/ref/srfi-modules.texi | 8 ++++---- module/srfi/srfi-19.scm | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/doc/ref/srfi-modules.texi b/doc/ref/srfi-modules.texi index fdc316f..4fbe250 100644 --- a/doc/ref/srfi-modules.texi +++ b/doc/ref/srfi-modules.texi @@ -2997,10 +2997,10 @@ with locale decimal point, eg.@: @samp{5.2} @item @nicode{~z} @tab time zone, RFC-822 style @item @nicode{~Z} @tab time zone symbol (not currently implemented) @item @nicode{~1} @tab ISO-8601 date, @samp{~Y-~m-~d} -@item @nicode{~2} @tab ISO-8601 time+zone, @samp{~k:~M:~S~z} -@item @nicode{~3} @tab ISO-8601 time, @samp{~k:~M:~S} -@item @nicode{~4} @tab ISO-8601 date/time+zone, @samp{~Y-~m-~dT~k:~M:~S~z} -@item @nicode{~5} @tab ISO-8601 date/time, @samp{~Y-~m-~dT~k:~M:~S} +@item @nicode{~2} @tab ISO-8601 time+zone, @samp{~H:~M:~S~z} +@item @nicode{~3} @tab ISO-8601 time, @samp{~H:~M:~S} +@item @nicode{~4} @tab ISO-8601 date/time+zone, @samp{~Y-~m-~dT~H:~M:~S~z} +@item @nicode{~5} @tab ISO-8601 date/time, @samp{~Y-~m-~dT~H:~M:~S} @end multitable @end defun diff --git a/module/srfi/srfi-19.scm b/module/srfi/srfi-19.scm index d8f7643..c0a27b1 100644 --- a/module/srfi/srfi-19.scm +++ b/module/srfi/srfi-19.scm @@ -1113,13 +1113,13 @@ (cons #\1 (lambda (date pad-with port) (display (date->string date "~Y-~m-~d") port))) (cons #\2 (lambda (date pad-with port) - (display (date->string date "~k:~M:~S~z") port))) + (display (date->string date "~H:~M:~S~z") port))) (cons #\3 (lambda (date pad-with port) - (display (date->string date "~k:~M:~S") port))) + (display (date->string date "~H:~M:~S") port))) (cons #\4 (lambda (date pad-with port) - (display (date->string date "~Y-~m-~dT~k:~M:~S~z") port))) + (display (date->string date "~Y-~m-~dT~H:~M:~S~z") port))) (cons #\5 (lambda (date pad-with port) - (display (date->string date "~Y-~m-~dT~k:~M:~S") port))))) + (display (date->string date "~Y-~m-~dT~H:~M:~S") port))))) (define (get-formatter char) -- 1.7.7.6 --=-=-=--