Movatterモバイル変換


[0]ホーム

URL:


homepage

Issue14180

This issue trackerhas been migrated toGitHub, and is currentlyread-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title:Factorize code to convert int/float to time_t, timeval or timespec
Type:Stage:resolved
Components:Library (Lib)Versions:Python 3.3
process
Status:closedResolution:fixed
Dependencies:Superseder:
Assigned To:Nosy List: belopolsky, georg.brandl, gregory.p.smith, python-dev, vstinner
Priority:normalKeywords:patch

Created on2012-03-03 00:10 byvstinner, last changed2022-04-11 14:57 byadmin. This issue is nowclosed.

Files
File nameUploadedDescriptionEdit
pytime.patchvstinner,2012-03-03 00:10review
Messages (9)
msg154811 -(view)Author: STINNER Victor (vstinner)*(Python committer)Date: 2012-03-03 00:10
There are various ways to convert a Python int/float to a C time_t, timeval or timespec structure. Attached patch factorize code by adding functions to convert a Python object to a C type (time_t, timeval or timespec).My patch changes how datetime rounds microsecond: round towards zero instead of rounding to nearest with ties going away from zero. I chose this rounding method because it is the method used by int(float) and int(time.time()) is a common in programs (more than round(time.time()). Rounding towards zero avoids also producing timestamps in the future.On overflow, an OverflowError is now raises instead of a ValueError. I prefer OverflowError over ValueError because it is an implementation detail. For example, time_t is 32 bits on Linux 32 bits, 64 bits on Linux 64 bits or on Windows (32 or 64 bits).PyTime_ObjectToXXX() functions are part of Python and so can be used by the posix, time, datetime and select modules. The patch removes _time.c, _time.h and timefunc.h because these files were only used for one function (_PyTime_DoubleToTime_t) which is no more used and it required to link a module to _time.c to get this function.--If it is a problem to replace ValueError with OverflowError for backward compatibility, it is easy to adapt the patch to raise ValueError instead.timedelta*float and timedelta/float rounding method may also be changed.
msg154984 -(view)Author: STINNER Victor (vstinner)*(Python committer)Date: 2012-03-05 22:41
Alexander: No complain if I remove _time.c?
msg155600 -(view)Author: Roundup Robot (python-dev)(Python triager)Date: 2012-03-13 12:38
New changeset1e9cc1a03365 by Victor Stinner in branch 'default':Close#14180: Factorize code to convert a number of seconds to time_t, timeval or timespechttp://hg.python.org/cpython/rev/1e9cc1a03365
msg155601 -(view)Author: Roundup Robot (python-dev)(Python triager)Date: 2012-03-13 12:50
New changeseted73006bac42 by Victor Stinner in branch 'default':Issue#14180: Remove commented codehttp://hg.python.org/cpython/rev/ed73006bac42
msg155616 -(view)Author: Roundup Robot (python-dev)(Python triager)Date: 2012-03-13 14:31
New changeset1eaf6e899f02 by Victor Stinner in branch 'default':Issue#14180: Fix select.select() compilation on BSD and a typo in kqueue_queue_control()http://hg.python.org/cpython/rev/1eaf6e899f02
msg155625 -(view)Author: Roundup Robot (python-dev)(Python triager)Date: 2012-03-13 15:25
New changesetcb1c877a27f2 by Victor Stinner in branch 'default':Issue#14180: Fix another typo in kqueue_queue_control()http://hg.python.org/cpython/rev/cb1c877a27f2
msg155631 -(view)Author: Roundup Robot (python-dev)(Python triager)Date: 2012-03-13 16:42
New changeset760cf150bb99 by Victor Stinner in branch 'default':Issue#14180: Fix pythoncore.vcproj,Modules/_time.[ch] have been removedhttp://hg.python.org/cpython/rev/760cf150bb99
msg155639 -(view)Author: Roundup Robot (python-dev)(Python triager)Date: 2012-03-13 18:12
New changeset9d69a2418d80 by Victor Stinner in branch 'default':Issue#14180: Fix an invalid rounding when compiler optimization are enabledhttp://hg.python.org/cpython/rev/9d69a2418d80
msg155689 -(view)Author: Roundup Robot (python-dev)(Python triager)Date: 2012-03-13 23:20
New changeset5d6a5c5a4ebe by Victor Stinner in branch 'default':Issue#14180: datetime.date.fromtimestamp(), datetime.datetime.fromtimestamp()http://hg.python.org/cpython/rev/5d6a5c5a4ebeNew changeset706689b2d678 by Victor Stinner in branch 'default':Issue#14180: TestDateTime.test_microsecond_rounding() handles localtime() andhttp://hg.python.org/cpython/rev/706689b2d678New changeseta0d101220f96 by Victor Stinner in branch 'default':Issue#14180: Fix the select module to handle correctly the Windows timevalhttp://hg.python.org/cpython/rev/a0d101220f96
History
DateUserActionArgs
2022-04-11 14:57:27adminsetgithub: 58388
2014-06-22 07:57:17loewislinkissue9012 superseder
2012-03-13 23:20:38python-devsetmessages: +msg155689
2012-03-13 18:12:26python-devsetmessages: +msg155639
2012-03-13 16:42:24python-devsetmessages: +msg155631
2012-03-13 15:25:45python-devsetmessages: +msg155625
2012-03-13 14:31:00python-devsetmessages: +msg155616
2012-03-13 12:50:39python-devsetmessages: +msg155601
2012-03-13 12:38:43python-devsetstatus: open -> closed

nosy: +python-dev
messages: +msg155600

resolution: fixed
stage: resolved
2012-03-05 22:41:39vstinnersetmessages: +msg154984
2012-03-03 00:10:21vstinnercreate
Supported byThe Python Software Foundation,
Powered byRoundup
Copyright © 1990-2022,Python Software Foundation
Legal Statements

[8]ページ先頭

©2009-2026 Movatter.jp