homepage

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.

classification
Title: datetime.utctimetuple() should not set tm_isdst flag to 0
Type: behavior Stage: patch review
Components: Documentation Versions: Python 3.6
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: belopolsky Nosy List: Gaurav Tatke, belopolsky, eric.araujo, hobbestigrou, karlcow, lemburg, p-ganssle, pitrou
Priority: normal Keywords: easy, patch

Created on 2010年06月16日 03:36 by belopolsky, last changed 2022年04月11日 14:57 by admin.

Files
File name Uploaded Description Edit
timetuple_issue9004.patch Gaurav Tatke, 2016年12月27日 08:16 review
Pull Requests
URL Status Linked Edit
PR 10870 closed belopolsky, 2018年12月03日 18:52
PR 15773 karlcow, 2019年10月03日 09:54
Messages (8)
msg107906 - (view) Author: Alexander Belopolsky (belopolsky) * (Python committer) Date: 2010年06月16日 03:36
I find the following quite misleading:
>>> from datetime import datetime
>>> import time
>>> time.strftime('%c %z %Z', datetime.utcnow().utctimetuple())
'Wed Jun 16 03:26:26 2010 -0500 EST'
As far as I can tell, the only other function that uses the tm_isdst flag is time.mktime, but it expect a timetuple containing local time, not UTC time.
msg108278 - (view) Author: Alexander Belopolsky (belopolsky) * (Python committer) Date: 2010年06月21日 15:35
With timezone.utc available in datetime module, users should be encouraged to use dt.astimezone(timezone.utc).timetuple() instead of dt.utctimetuple(). Note that the later will set tm_isdst to -1. This observation can be used to argue for either of two ways to resolve this issue:
1. Since utctimetuple() is no longer necessary, and the alternative works correctly, there is no need to fix it. Just recommend the astimezone use in the docs and explain the subtle difference.
2. Having two ways to do the same thing which have a subtle difference is not a good idea.
I am leaning towards #1, but would like to hear from others.
msg162633 - (view) Author: Éric Araujo (eric.araujo) * (Python committer) Date: 2012年06月11日 18:04
> Just recommend the astimezone use in the docs
and recommend creating tz-aware instances in the first time (i.e. calling now(utc) instead of utcnow()), +1.
msg221894 - (view) Author: Alexander Belopolsky (belopolsky) * (Python committer) Date: 2014年06月29日 20:13
Reclassifying this as a doc issue.
msg284072 - (view) Author: Gaurav Tatke (Gaurav Tatke) * Date: 2016年12月27日 08:16
Hi,
I am new to python and would like to contribute. I find this issue easy so changed the documentation of datetime module. I tested it with sphinx. Attaching a patch.
Please let me know if it is correct or needs changes.
Appreciate it!
Regards,
Gaurav
msg330963 - (view) Author: Natal Ngétal (hobbestigrou) * Date: 2018年12月03日 17:53
Please can you convert your patch to a pull request on github.
msg330969 - (view) Author: Alexander Belopolsky (belopolsky) * (Python committer) Date: 2018年12月03日 18:53
I submitted Gaurav's patch as PR 10870. Please review.
msg353837 - (view) Author: karl (karlcow) * Date: 2019年10月03日 09:54
@gaurav The pull request 
https://github.com/python/cpython/pull/10870
has been closed in favor of 
https://github.com/python/cpython/pull/15773
which has already been merged.
So we can probably close here.
History
Date User Action Args
2022年04月11日 14:57:02adminsetgithub: 53250
2019年10月03日 09:54:22karlcowsetnosy: + karlcow

messages: + msg353837
pull_requests: + pull_request16145
2018年12月03日 18:53:43belopolskysetmessages: + msg330969
2018年12月03日 18:52:14belopolskysetstage: needs patch -> patch review
pull_requests: + pull_request10105
2018年12月03日 17:53:07hobbestigrousetnosy: + hobbestigrou
messages: + msg330963
2018年07月05日 15:56:46p-gansslesetnosy: + p-ganssle
2016年12月27日 08:16:08Gaurav Tatkesetfiles: + timetuple_issue9004.patch

nosy: + Gaurav Tatke
messages: + msg284072

keywords: + patch
2016年09月18日 10:05:50mark.dickinsonsetnosy: - mark.dickinson
2016年09月10日 18:38:37belopolskysetversions: + Python 3.6, - Python 3.5
2014年06月29日 20:15:06belopolskysetkeywords: + easy
2014年06月29日 20:13:35belopolskysetstage: test needed -> needs patch
messages: + msg221894
components: + Documentation, - Extension Modules
versions: + Python 3.5, - Python 3.3
2014年06月29日 20:12:02belopolskysetnosy: + lemburg
2012年06月11日 18:04:22eric.araujosetnosy: + eric.araujo
messages: + msg162633
2011年01月11日 02:04:01belopolskysetversions: + Python 3.3, - Python 3.2
2010年07月05日 19:35:32belopolskysetnosy: + pitrou
2010年06月21日 15:35:16belopolskysetmessages: + msg108278
2010年06月16日 03:36:41belopolskycreate

AltStyle によって変換されたページ (->オリジナル) /