Bug in old-locale?

Antoine Latter aslatter at gmail.com
Sun Jun 28 20:46:35 EDT 2009


On Tue, Apr 21, 2009 at 10:31 AM, Ashley Yakeley<ashley at semantic.org> wrote:
> Magnus Therning wrote:
>>
>> On Mon, Apr 20, 2009 at 11:27 PM, Deniz Dogan <deniz.a.m.dogan at gmail.com>
>> wrote:
>>>
>>> Hi
>>>
>>> Is there a bug in the old-locale package? I tried the following simple
>>> program:
>>>
>>> import Data.Time
>>> import System.Locale
>>>
>>> main = do
>>>  time <- getCurrentTime
>>>  putStrLn $ formatTime defaultTimeLocale rfc822DateFormat time
>>>
>>> The above program prints:
>>>
>>> Mon, d Apr 2009 15:23:56 UTC
>>>
>>> Notice "Mon, d", where "d" should be the day of the month. Looking at
>>> the source code in the package, I see:
>>>
>>> rfc822DateFormat = "%a, %_d %b %Y %H:%M:%S %Z"
>>>
>>> So what's up with %_d?
>>
>> That looks like an error to me.  According to the date(1) manpage, an
>> underbar pads with spaces.
>>
>> % date +"%a, %_d %b %Y %H:%M:%S %Z"
>> Tue, 21 Apr 2009 00:25:50 SGT
>
> It looks like old-locale and time have different ideas of date formats.
> Possibly this should be fixed in the time package.
>

old-time handles the padding by eating it. The attached patch does the
same for the time package.

>From reading the date(1) manpage, there are some other parts of the
format-spec not supported. But we at least parse the format-specs we
ship with.

Antoine
-------------- next part --------------
A non-text attachment was scrubbed...
Name: padding.dpatch
Type: application/octet-stream
Size: 3494 bytes
Desc: not available
Url : http://www.haskell.org/pipermail/libraries/attachments/20090628/214c67e7/padding.obj


More information about the Libraries mailing list