Commit 3e312bd
Fix naturalday/naturaldate giving wrong answer for tz-aware datetimes
When a tz-aware datetime is passed, naturalday() and naturaldate()
extract the date in the value's timezone but compare it with
date.today() which uses system local time. This produces wrong results
when the value's timezone differs from the system timezone.
Fix: capture the value's tzinfo before converting to a plain date,
then derive "today" via datetime.now(tzinfo).date() so both dates
are in the same timezone.
Fixes #152
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>1 parent 471cd9b commit 3e312bd
2 files changed
Lines changed: 66 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
318 | 318 | | |
319 | 319 | | |
320 | 320 | | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
321 | 325 | | |
322 | 326 | | |
323 | 327 | | |
| |||
326 | 330 | | |
327 | 331 | | |
328 | 332 | | |
329 | | - | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
330 | 339 | | |
331 | 340 | | |
332 | 341 | | |
| |||
344 | 353 | | |
345 | 354 | | |
346 | 355 | | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
347 | 359 | | |
348 | | - | |
| 360 | + | |
349 | 361 | | |
350 | 362 | | |
351 | 363 | | |
352 | 364 | | |
353 | 365 | | |
354 | 366 | | |
355 | | - | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
356 | 373 | | |
| 374 | + | |
357 | 375 | | |
358 | 376 | | |
359 | 377 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
300 | 300 | | |
301 | 301 | | |
302 | 302 | | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
303 | 348 | | |
304 | 349 | | |
305 | 350 | | |
| |||
0 commit comments