putting date strings in order

MRAB google at mrabarnett.plus.com
Tue May 12 12:25:07 EDT 2009


Jaime Fernandez del Rio wrote:
> On Tue, May 12, 2009 at 5:02 PM, MRAB <google at mrabarnett.plus.com> wrote:
>> John Machin wrote:
>>> MRAB <google <at> mrabarnett.plus.com> writes:
>>>> Sort the list, passing a function as the 'key' argument. The function
>>>> should return an integer for the month, eg 0 for 'jan', 1 for 'feb'. If
>>>> you want to have a different start month then add
>>> and if you don't like what that produces, try subtract :-)
>>>
>> Oops!
>>
>>>> the appropriate
>>>> integer for that month (eg 0 for 'jan', 1 for 'feb') and then modulo 12
>>>> to make it wrap around (there are only 12 months in a year), returning
>>>> the result.
>> Actually, subtract the start month, add 12, and then modulo 12.
> 
> Both on my Linux and my Windows pythons, modulos of negative numbers
> are properly taken, returning always the correct positive number
> between 0 and 11. I seem to recall, from my distant past, that Perl
> took pride on this being a language feature. Anyone knows if that is
> not the case with python, and so not adding 12 before taking the
> modulo could result in wrong results in some implementations?
> 
Ah, yes, it's a true modulo! Nice to see that Python gets it right! :-)



More information about the Python-list mailing list