Closed TheMiningTeamYT closed 10 months ago
Can you please be more descriptive?
Somehow I expected that when I submitted the issue.
If you call localtime
(from time.h
/ctime
), it returns a pointer to a tm
struct
That struct has a property (tm_mday
) that is supposed to reflect the current day of the month.
However, if it is before March 1st on a leap year, the value it returns is 1 higher than it should be.
(For instance, on January 1st, 2024 it returns 2 [as in January 2nd, 2024] instead of 1)
(It works fine if the date is March 1st or after or if the year is not a leap year)
You can see this with the code I attached. (If you press '4' to open the clock, it shows the current reported day of the month, which is taken directly from the struct pointer returned bylocaltime
)
This is now fixed in the latest nightly! Thanks for the report
Also @TheMiningTeamYT have you used the asctime
or strftime
C functions before? I imagine it would greatly clean up your code.
As a matter of fact, no! I'll try it sometime.
On leap years, if you use localtime, tm_mday from the returned struct will be 1 too high until March 1st. Here's my code: time.tar.gz