sunshine@lemmy.ml to Programmer Humor@lemmy.mlEnglish · 18 hours agoI'm new to using Ruby and this tickled me pinkimagemessage-square67fedilinkarrow-up1210arrow-down16
arrow-up1204arrow-down1imageI'm new to using Ruby and this tickled me pinksunshine@lemmy.ml to Programmer Humor@lemmy.mlEnglish · 18 hours agomessage-square67fedilink
minus-squareKazumara@discuss.tchncs.delinkfedilinkarrow-up13·8 hours agoThe python version seems buggy as fuck. Depending on which year you run it it’s off by 1-3 days
minus-squaredumples@midwest.sociallinkfedilinkEnglisharrow-up3·4 hours agoPython does have a year option that they are not using. Depending on the application I would use 365 for a year to get a consistent number of days.
minus-squarecomfy@lemmy.mllinkfedilinkarrow-up2·7 hours agoThat sounds serious, can you give some example values we can test?
minus-squareKazumara@discuss.tchncs.delinkfedilinkarrow-up5·5 hours agoSure, here’s one example for each case: 1 day off: 3650 days before 1907-01-01 is 1897-01-02 2 days off: 3650 days before 2027-01-01 is 2017-01-03 3 days off: 3650 days before 2025-01-01 is 2015-01-04
minus-squaregonzo-rand19@moist.catsweat.comlinkfedilinkarrow-up3·5 hours ago29 February 2028, 29 February 2032, 29 February 2036…
minus-squaremrgoosmoos@lemmy.calinkfedilinkEnglisharrow-up6·6 hours agolook I’m not trying to be a dick or anything, but do you not know about leap years and which years they are?
minus-squareKazumara@discuss.tchncs.delinkfedilinkarrow-up2·5 hours agoLeap years are each fourth year, except each hundredth year, except each thousandth year. 1896 leap year 1900 not leap year 1904 leap year … 1996 leap year 2000 leap year 2004 leap year … 2096 leap year 2100 not leap year 2104 leap year Then you just arrange the 10 year window in different positions to overlap 1 to 3 leap years to reveal the three outcomes of the bug. - / - - - / - - - / - - / - - - / - - - - - 0 - - - / - - - - is a normal year, / is a leap year, 0 is an exceptional non-leap year.
The python version seems buggy as fuck. Depending on which year you run it it’s off by 1-3 days
Python does have a year option that they are not using. Depending on the application I would use 365 for a year to get a consistent number of days.
That sounds serious, can you give some example values we can test?
Sure, here’s one example for each case:
1 day off: 3650 days before 1907-01-01 is 1897-01-02
2 days off: 3650 days before 2027-01-01 is 2017-01-03
3 days off: 3650 days before 2025-01-01 is 2015-01-04
29 February 2028, 29 February 2032, 29 February 2036…
look I’m not trying to be a dick or anything, but do you not know about leap years and which years they are?
Yes, and I have no idea…
Leap years are each fourth year, except each hundredth year, except each thousandth year.
1896 leap year
1900 not leap year
1904 leap year
…
1996 leap year
2000 leap year
2004 leap year
…
2096 leap year
2100 not leap year
2104 leap year
Then you just arrange the 10 year window in different positions to overlap 1 to 3 leap years to reveal the three outcomes of the bug.
- / - - - / - - - /
- - / - - - / - - -
- - 0 - - - / - - -
- is a normal year, / is a leap year, 0 is an exceptional non-leap year.