-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature Request: Make datetime intervals timezone aware #2
Comments
Weirdly enough, my setup seems to be ignoring the |
We'll see what the maintainers say about this, but it seems like a Timewarrior bug to me. Until it's resolved on their end, there's no point in adding timezone support (at least by using the |
Out of curiosity, do you work in multiple timezones? Does your import data have more than one timezone? |
Usually, no — I typically just import data from a remote API, most of the time it's in UTC. However, I noticed that the timezone isn't processed correctly, so I checked the source code. |
Your solution looks good, once we figure out that upstream issue you linked, I will accept a PR if you want, and make a release to PyPi. Probably we should add a test for this to |
Issue
When a timezone-aware
datetime
is passed to theInterval
, it formats it as if it as if it were timezone-unaware.Use Case
I encountered this issue while importing time entries from other time trackers via an API in the format
2024-10-23T12:00:00+00:00
, then converting them to timezone-awaredatetime
objects to feed intopython-timew
. Since I'm currently in a non-UTC timezone, the times were imported into Timewarrior with incorrectdatetime
values. While I can apply a local fix in my script, it seems beneficial for the project to natively support timezone-awaredatetime
values.Solution
Replace
datetime.strftime('%Y%m%dT%H%M%S')
withdatetime.isoformat(timespec='seconds')
which handles both timezone-aware and naivedatetime
objects. Thetimespec
parameter is used to trim off microseconds (if present), as Timewarrior cannot parse them.The text was updated successfully, but these errors were encountered: