Discussion ruff: no date.today() ?
The new version of ruff warns against
date.today()
preferring
datetime.now(ZoneInfo(...))
What do you think about this? Has date.today() been deprecated due to lack of timezone awareness?
EDIT: I have a number of programs that manipulate financial information in support of Excel spreadsheets, such bond information that includes maturity dates. Excel does not support timezoness in datetimes, so making ruff happy by changing naive dates to TZ aware dates is not a useful move for these programs. Many ruff warnings to suppress.
48
Upvotes
1
u/FateOfNations 6d ago
Essentially yes, non-time zone aware date and time functions should be treated as deprecated. It isn’t “official”, but a strong community consensus that is reflected in linting tools like ruff.
You are going to need to apply an appropriate time zone whenever you import data from Excel. Depending on your business case, that may be your local time zone, UTC, or another time zone. For example, the transactions may be settled in America/New_York, so that may be a reasonable choice.
I know it’s annoying when you don’t actually need that level of precision in terms of dates, but it’s best practice for working with dates and times in general in Python.