This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2009年12月27日 15:57 by techtonik, last changed 2022年04月11日 14:56 by admin. This issue is now closed.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| diff.py_iso_timestamps.diff | techtonik, 2009年12月27日 15:57 | review | ||
| diff.py_iso_timestamps_true.diff | techtonik, 2009年12月29日 00:50 | flawless | review | |
| diff.py_iso_timestamps_true_with_dst.diff | techtonik, 2010年01月09日 16:58 | also detects dst | review | |
| diff.py_iso_timestamps_true_with_true_dst.diff | techtonik, 2010年02月09日 11:27 | active dst | review | |
| Messages (29) | |||
|---|---|---|---|
| msg96912 - (view) | Author: anatoly techtonik (techtonik) | Date: 2009年12月27日 15:57 | |
make diff.py produce unified diffs with ISO 8601 timestamps Currently generated timestamps are difficult to separate from filename when parsing if you don't know that the diff was generated by diff.by This patch make diff.py output more standard compliant by including ISO 8601 timestamps that also conform to RFC 3339 profile for timestamp format on the internet. |
|||
| msg96922 - (view) | Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) * (Python committer) | Date: 2009年12月27日 20:45 | |
Using ISO format certainly makes sense, but it seems to me that after dt=datetime.fromtimestamp(mtime), dt.tzinfo is always None, so the test is not necessary. |
|||
| msg96929 - (view) | Author: anatoly techtonik (techtonik) | Date: 2009年12月27日 22:12 | |
That's true. Is there any way to get current TZ offset in Python? I can't find anything better than datetime.datetime.now() - datetime.datetime.utcnow() and then rounding to a nearest minute. |
|||
| msg96962 - (view) | Author: Brian Curtin (brian.curtin) * (Python committer) | Date: 2009年12月28日 17:59 | |
Look at time.timezone - http://docs.python.org/library/time.html#time.timezone # I'm in US Central time, so it's -6 from UTC >>> import time >>> tz = time.timezone >>> tz 21600 >>> tz / 60 / 60 6 |
|||
| msg96978 - (view) | Author: anatoly techtonik (techtonik) | Date: 2009年12月28日 23:55 | |
Thanks! Now the most elegant patch I could think out. |
|||
| msg96979 - (view) | Author: Brian Curtin (brian.curtin) * (Python committer) | Date: 2009年12月29日 00:30 | |
Looks cleaner and works for me. One very minor comment: the spaces inside the parenthesis on the time.localtime call are inconsistent and don't comply with PEP-8. |
|||
| msg96981 - (view) | Author: anatoly techtonik (techtonik) | Date: 2009年12月29日 00:50 | |
Pepeighfied and regenerated. Should be flawless now. |
|||
| msg97272 - (view) | Author: Steven Rumbalski (srumbalski) | Date: 2010年01月05日 19:17 | |
I think this is incorrect during daylight savings time: tzoffset = -time.timezone // 60 This should do it: isdst = time.localtime().tm_isdst tzoffset = -(time.altzone if isdst else time.timezone)//60 |
|||
| msg97460 - (view) | Author: anatoly techtonik (techtonik) | Date: 2010年01月09日 16:58 | |
New version detects DST using time.daylight flag. utcoffset = -(time.altzone if time.daylight else time.timezone) // 60 |
|||
| msg97471 - (view) | Author: Brian Curtin (brian.curtin) * (Python committer) | Date: 2010年01月09日 21:22 | |
Using time.daylight is incorrect. time.daylight specifies the number of hours that the daylight offset is, not a flag to specify whether or not daylight savings time is in effect. Steven's suggestion of using time.localtime().tm_isdst seems to be the better route. |
|||
| msg97503 - (view) | Author: anatoly techtonik (techtonik) | Date: 2010年01月10日 10:36 | |
Brian, documentation says quite the opposite. time.daylight Nonzero if a DST timezone is defined. http://docs.python.org/library/time.html?highlight=daylight#time.daylight |
|||
| msg97539 - (view) | Author: Brian Curtin (brian.curtin) * (Python committer) | Date: 2010年01月10日 18:46 | |
The documentation could use some work. It means that if the timezone does use a daylight savings time period, time.daylight specifies the amount of the offset. In my timezone this value is 1. However, time.localtime().is_dst is currently 0, because we are not on savings time. For that reason, using time.daylight in your patch gives an incorrect result for me. |
|||
| msg97540 - (view) | Author: Brian Curtin (brian.curtin) * (Python committer) | Date: 2010年01月10日 18:57 | |
http://msdn.microsoft.com/en-us/library/2t504ch6%28VS.80%29.aspx has some info for how this is implemented on Windows, and I get the same results on my Mac. On Linux an AttributeError is raised time.struct_time not having an attribute is_dst, and time.daylight matches the other two platforms. |
|||
| msg97546 - (view) | Author: Brian Curtin (brian.curtin) * (Python committer) | Date: 2010年01月10日 20:10 | |
Whoops, nevermind the Linux comment on that last one. My typo there caused the exception. The result there is the same as the other platforms. |
|||
| msg99092 - (view) | Author: anatoly techtonik (techtonik) | Date: 2010年02月09日 08:05 | |
So, is that right that even if time.daylight specifies the offset, this doesn't mean that this offset is active? MS documentation you referenced is unclear: "The _get_daylight function retrieves the number of hours in daylight saving time as an integer. If daylight saving time is in effect, the default offset is one hour." From this description it is easy to assume that if DST is not in effect then default offset would be 0. |
|||
| msg99096 - (view) | Author: anatoly techtonik (techtonik) | Date: 2010年02月09日 08:44 | |
You are right. ----[pydst.py]------ import time print time.asctime() print time.localtime().tm_isdst print time.daylight -------------------- Tue Feb 09 10:31:47 2010 0 1 Sun May 09 10:33:20 2010 1 1 There is already an issue #7229 to correct the docs. I'll adjust my patch accordingly. Thanks for collaboration. |
|||
| msg99108 - (view) | Author: anatoly techtonik (techtonik) | Date: 2010年02月09日 11:27 | |
Finally! (I really hope so) |
|||
| msg99163 - (view) | Author: Barry A. Warsaw (barry) * (Python committer) | Date: 2010年02月10日 14:08 | |
This seems like a new feature to me so I'm removing 2.6 from the list. My browser won't let me remove Python 3.1. |
|||
| msg99166 - (view) | Author: anatoly techtonik (techtonik) | Date: 2010年02月10日 15:38 | |
I use this tool in instructions how to generate patches on windows, so I am interested to see this fix in the version, that users will likely to use for next couple of years, but I'd be happy to see this committed in any branch. If it is going to be committed in alpha only them I'd like to propose to change default diff format to unicode as well. Please, also review http://bugs.python.org/issue7585 that contains more important API change that also prevents diff.py from generating correct patches. |
|||
| msg99171 - (view) | Author: Amaury Forgeot d'Arc (amaury.forgeotdarc) * (Python committer) | Date: 2010年02月10日 15:57 | |
> I'd like to propose to change default diff format to unicode as well What kind of "unicode" format is it? |
|||
| msg99200 - (view) | Author: anatoly techtonik (techtonik) | Date: 2010年02月11日 05:49 | |
I am sorry - too much windows to reply. This must be *unified*, of course. |
|||
| msg99393 - (view) | Author: anatoly techtonik (techtonik) | Date: 2010年02月16日 10:46 | |
Ok. Let's commit it at least to 2.7 - I'll create a separate issue for discussion of unified diff format later. |
|||
| msg104419 - (view) | Author: anatoly techtonik (techtonik) | Date: 2010年04月28日 08:29 | |
So, what about 2.7 ? |
|||
| msg104430 - (view) | Author: Brian Curtin (brian.curtin) * (Python committer) | Date: 2010年04月28日 13:58 | |
2.7 is now frozen as far as new features go. It's still good for 3.2. I think this is ready to go, so I'll probably commit it later in the day. |
|||
| msg104439 - (view) | Author: anatoly techtonik (techtonik) | Date: 2010年04月28日 16:57 | |
I still do not understand your policy - it is a tool, it is not a part of standard library. |
|||
| msg107152 - (view) | Author: anatoly techtonik (techtonik) | Date: 2010年06月05日 17:16 | |
Adding Alexander as ISTM he may be interested to read the time discussion. |
|||
| msg107154 - (view) | Author: Alexander Belopolsky (belopolsky) * (Python committer) | Date: 2010年06月05日 17:28 | |
The latest patch will produce wrong results if the file was last modified before timezone rules changed in your location. See issue1647654. |
|||
| msg163434 - (view) | Author: Roundup Robot (python-dev) (Python triager) | Date: 2012年06月22日 16:48 | |
New changeset ec95b94ea831 by Alexander Belopolsky in branch 'default': Issue #7582: Use ISO timestamp in diff.py http://hg.python.org/cpython/rev/ec95b94ea831 |
|||
| msg163448 - (view) | Author: anatoly techtonik (techtonik) | Date: 2012年06月22日 18:00 | |
Thanks. I am glad OS TZ support finally issue took off. =) |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:56:55 | admin | set | github: 51831 |
| 2012年06月22日 18:00:30 | techtonik | set | messages: + msg163448 |
| 2012年06月22日 17:37:53 | belopolsky | set | status: open -> closed resolution: fixed stage: patch review -> resolved |
| 2012年06月22日 16:48:30 | python-dev | set | nosy:
+ python-dev messages: + msg163434 |
| 2010年12月30日 22:14:16 | georg.brandl | unlink | issue7962 dependencies |
| 2010年10月05日 18:02:52 | belopolsky | set | dependencies: + Add aware local time support to datetime module |
| 2010年07月05日 21:19:08 | brian.curtin | set | nosy:
- brian.curtin |
| 2010年07月04日 16:58:32 | eric.araujo | link | issue7962 dependencies |
| 2010年07月04日 16:33:30 | eric.araujo | set | title: [patch] diff.py to use iso timestamp -> Use ISO timestamp in diff.py |
| 2010年06月05日 17:28:33 | belopolsky | set | assignee: belopolsky dependencies: + No obvious and correct way to get the time zone offset messages: + msg107154 |
| 2010年06月05日 17:16:27 | techtonik | set | nosy:
+ belopolsky messages: + msg107152 |
| 2010年04月28日 16:57:08 | techtonik | set | messages: + msg104439 |
| 2010年04月28日 13:58:23 | brian.curtin | set | messages:
+ msg104430 versions: - Python 2.7 |
| 2010年04月28日 08:29:37 | techtonik | set | messages: + msg104419 |
| 2010年02月16日 12:33:56 | djc | set | nosy:
+ djc |
| 2010年02月16日 10:46:55 | techtonik | set | messages: + msg99393 |
| 2010年02月16日 04:53:21 | eric.araujo | set | nosy:
+ eric.araujo |
| 2010年02月11日 05:49:56 | techtonik | set | messages: + msg99200 |
| 2010年02月10日 15:57:32 | amaury.forgeotdarc | set | messages: + msg99171 |
| 2010年02月10日 15:38:29 | techtonik | set | messages: + msg99166 |
| 2010年02月10日 15:00:48 | brian.curtin | set | keywords:
+ needs review type: behavior -> enhancement versions: - Python 3.1 |
| 2010年02月10日 14:08:36 | barry | set | nosy:
+ barry messages: + msg99163 versions: - Python 2.6 |
| 2010年02月09日 11:27:22 | techtonik | set | files:
+ diff.py_iso_timestamps_true_with_true_dst.diff messages: + msg99108 |
| 2010年02月09日 08:44:29 | techtonik | set | messages: + msg99096 |
| 2010年02月09日 08:05:30 | techtonik | set | messages: + msg99092 |
| 2010年01月10日 20:10:53 | brian.curtin | set | messages: + msg97546 |
| 2010年01月10日 18:57:54 | brian.curtin | set | messages: + msg97540 |
| 2010年01月10日 18:46:22 | brian.curtin | set | messages: + msg97539 |
| 2010年01月10日 10:36:46 | techtonik | set | messages: + msg97503 |
| 2010年01月09日 21:22:36 | brian.curtin | set | priority: normal messages: + msg97471 stage: patch review |
| 2010年01月09日 16:58:30 | techtonik | set | files:
+ diff.py_iso_timestamps_true_with_dst.diff messages: + msg97460 |
| 2010年01月05日 19:17:25 | srumbalski | set | nosy:
+ srumbalski messages: + msg97272 |
| 2009年12月29日 00:50:41 | techtonik | set | files: - diff.py_iso_timestamps_true.diff |
| 2009年12月29日 00:50:33 | techtonik | set | files:
+ diff.py_iso_timestamps_true.diff messages: + msg96981 |
| 2009年12月29日 00:30:09 | brian.curtin | set | messages: + msg96979 |
| 2009年12月28日 23:55:39 | techtonik | set | files:
+ diff.py_iso_timestamps_true.diff messages: + msg96978 |
| 2009年12月28日 17:59:44 | brian.curtin | set | nosy:
+ brian.curtin messages: + msg96962 |
| 2009年12月27日 22:12:54 | techtonik | set | messages: + msg96929 |
| 2009年12月27日 20:45:02 | amaury.forgeotdarc | set | nosy:
+ amaury.forgeotdarc messages: + msg96922 |
| 2009年12月27日 15:57:56 | techtonik | create | |