in reply to The function localtime(time) returns wrong month . How to overcome this problem ??
Months are zero based. January is therefore 0 (zero). Originally this value was used as an index to a text array in Unix. The routine that used the value was written in C, thus the zero based value. In addition the year value is commonly the year less 1900. Around 2000, some people assumed that it was the last two digits of the year (WRONG!). They then proceded to write the year as 19%2d (printf format). If you see the year "19100" where you should see "2000" this is the problem. There is no fix, you just need to know that the months go from 0-11 and if you desire to display the month as a numeric value, you need to add 1. Since there is confusion between which should be displayed first: the month (USA), or the day (europe), is is usually better to write out an abbreviation. It makes it less confusing.
Good luck!
|