MATLAB: Qustion about :datestr a bug? or something others

datestr

Why
datestr('2011-01-02 00:00:01','yyyy-mm-dd HH:MM:SS AM')
result in 2011-01-02 12:00:01 AM otherwise 2011-01-02 00:00:01 AM???
On the other hand, datestr('2011-01-02 12:00:01','yyyy-mm-dd HH:MM:SS AM') result in 2011-01-02 12:00:01 PM other than 2011-01-02 00:00:01 PM?* Is there a bug? or I had made a mistake?

Best Answer

The time 12:00 is called "12 PM", not "0 PM". This is a convention - but a confusing one and not everybody follows it. See: WikiPedia: 12 hour clock.