Gordon P. Hemsley
e3d9bd6be3
gh-81148: Eliminate unnecessary check in _strptime when determining AM/PM ( #13428 )
...
* bpo-36967: Eliminate unnecessary check in _strptime when determining AM/PM
* Pauls suggestion to refactor test
* Fix test
---------
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Co-authored-by: Paul Ganssle <1377457+pganssle@users.noreply.github.com>
2025-09-19 10:23:12 +00:00
Semyon Moroz
495f589363
gh-121237: Add %:z directive to datetime.strptime ( #136961 )
2025-09-19 10:25:31 +01:00
Serhiy Storchaka
731f5b8ab3
gh-136028: Fix parsing month names containing "İ" (U+0130) in strptime() (GH-136029)
...
This affects locales az_AZ, ber_DZ, ber_MA and crh_UA.
2025-06-27 16:47:03 +03:00
Serhiy Storchaka
07183ebce3
gh-53203: Fix strptime() for %c, %x and %X formats on some locales ( #135971 )
...
* Add detection of decimal non-ASCII alt digits.
* Add support of non-decimal alt digits on locale lzh_TW.
* Accept only numbers in correct range if alt digits are known.
* Fix bug in detecting the position of the week day name on locales byn_ER and wal_ET.
* Fix support of single-digit hour on locales ar_SA and bg_BG.
* Add support for %T, %R, %r, %C, %OC.
* Prepare code to use nl_langinfo().
2025-06-27 10:50:59 +03:00
Stan Ulbrych
99b580857f
gh-122781: Allow empty offset for %z in strptime ( #132922 )
...
* commit
* Move tests
2025-05-20 16:39:58 +00:00
Serhiy Storchaka
3feac7a093
gh-131434: Improve error reporting for incorrect format in strptime() (GH-131568)
...
In particularly, fix regression in detecting stray % at the end of the
format string.
2025-04-09 13:26:50 +03:00
Beomsoo Kim
51cfa569e3
gh-127552: Remove comment questioning 4-digit restriction for ‘Y’ in datetime.strptime patterns ( #127590 )
...
The code has required 4 digits for the year since its inclusion in the stdlib in 2002 (over 22 years ago as of this commit).
2024-12-04 10:30:51 -08:00
Serhiy Storchaka
5f4e5b598c
gh-53203: Fix strptime() for %c, %x and %X formats on many locales (GH-125406)
...
Fixed most locales that use non-ASCII digits, like Persian, Burmese,
Odia and Shan.
2024-10-14 16:29:20 +03:00
Serhiy Storchaka
c05f9dde8a
gh-53203: Fix strptime() for %c and %x formats on many locales (GH-124946)
...
In some locales (like French or Hebrew) the full or abbreviated names of
the default month and weekday used in __calc_date_time can be part of
other name or constant part of the %c format. The month name can also
match %m with constant suffix (like in Japanese). So the code failed to
correctly distinguish formats %a, %A, %b, %B and %m.
Cycle all month and all days of the week to find the variable part
and distinguish %a from %A and %b from %B or %m.
Fixed locales for the following languges:
Arabic, Bislama, Breton, Bodo, Kashubian, Chuvash, Estonian, French, Irish,
Ge'ez, Gurajati, Manx Gaelic, Hebrew, Hindi, Chhattisgarhi, Haitian Kreyol,
Japanese, Kannada, Korean, Marathi, Malay, Norwegian, Nynorsk, Punjabi,
Rajasthani, Tok Pisin, Yoruba, Yue Chinese, Yau/Nungon and Chinese.
Co-authored-by: Eli Bendersky <eliben@gmail.com>
2024-10-12 17:46:21 +00:00
Nice Zombies
9968caa0cc
gh-41431: Add datetime.time.strptime() and datetime.date.strptime() ( #120752 )
...
* Python implementation
* C implementation
* Test `date.strptime`
* Test `time.strptime`
* 📜 🤖 Added by blurb_it.
* Update whatsnew
* Update documentation
* Add leap year note
* Update 2024-06-19-19-53-42.gh-issue-41431.gnkUc5.rst
* Apply suggestions from code review
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
* Remove parentheses
* Use helper function
* Remove bad return
* Link to github issue
* Fix directive
* Apply suggestions from code review
Co-authored-by: Paul Ganssle <1377457+pganssle@users.noreply.github.com>
* Fix test cases
---------
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Paul Ganssle <1377457+pganssle@users.noreply.github.com>
2024-09-25 14:43:58 -07:00
abstractee
1f4a49ea53
Fix typos in warnings, docstrings, comments and text files ( #123597 )
2024-09-03 02:20:40 +02:00
Gregory P. Smith
33ee5cb3e9
GH-70647: Deprecate strptime day of month parsing without a year present to avoid leap-year bugs (GH-117107)
2024-04-03 14:19:49 +02:00
Gordon P. Hemsley
4b2c3e8e43
bpo-36959: Fix error messages for invalid ISO format string in _strptime() (GH-13408)
...
Previously some error messages complained about incompatible
combinations of directives that are not contained in the format string.
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2023-12-26 19:26:17 +00:00
Paul Ganssle
a5308e188b
GH-90750: Use datetime.fromisocalendar in _strptime ( #103802 )
...
Use datetime.fromisocalendar in _strptime
This unifies the ISO → Gregorian conversion logic and improves handling
of invalid ISO weeks.
2023-04-27 10:27:27 -06:00
Noor Michael
04f6fbb696
bpo-43295: Fix error handling of datetime.strptime format string '%z' (GH-24627)
...
Previously, `datetime.strptime` would match `'z'` with the format string `'%z'` (for UTC offsets), throwing an `IndexError` by erroneously trying to parse `'z'` as a timestamp. As a special case, `'%z'` matches the string `'Z'` which is equivalent to the offset `'+00:00'`, however this behavior is not defined for lowercase `'z'`.
This change ensures a `ValueError` is thrown when encountering the original example, as follows:
```
>>> from datetime import datetime
>>> datetime.strptime('z', '%z')
ValueError: time data 'z' does not match format '%z'
```
Automerge-Triggered-By: GH:pganssle
2021-03-03 08:58:57 -08:00
Ram Rachum
14dbe4b3f0
Fix outdated comment in _strptime.py (GH-17929)
...
Can I please get the tags for skipping bpo and skipping a news item?
2020-01-12 12:53:00 -08:00
Mario Corchero
89a25ce4fd
bpo-33541: Remove unused __pad function (GH-4377)
...
Function was added with the initial implementation 00efe7e798 .
2018-05-20 13:42:30 -04:00
Ville Skyttä
61f82e0e33
Spelling fixes to docs, docstrings, and comments (GH-6374)
2018-04-20 16:08:45 -04:00
Mario Corchero
f80c0ca133
Fix when parsing tz offsets microseconds shorter than 6 ( #4781 )
...
As the remainder was directly parsed as an int, strings like
.600 were parsed as 600 microseconds rather than milliseconds.
2018-01-09 16:37:26 -05:00
Mario Corchero
32318930da
Closes bpo-31800: Support for colon when parsing time offsets ( #4015 )
...
Add support to strptime to parse time offsets with a colon between the hour and the minutes.
2017-10-25 20:35:41 -04:00
Antoine Pitrou
a6a4dc816d
bpo-31370: Remove support for threads-less builds ( #3385 )
...
* Remove Setup.config
* Always define WITH_THREAD for compatibility.
2017-09-07 18:56:24 +02:00
Serhiy Storchaka
6e4150f36b
Issue #23718 : Fixed parsing time in week 0 before Jan 1. Original patch by
...
Tamás Bence Gedai.
2016-03-12 10:53:09 +02:00
Serhiy Storchaka
8a7240eeed
Issue #23718 : Fixed parsing time in week 0 before Jan 1. Original patch by
...
Tamás Bence Gedai.
2016-03-12 10:51:16 +02:00
Serhiy Storchaka
3ab6c981e7
Issue #6478 : _strptime's regexp cache now is reset after changing timezone
...
with time.tzset().
2015-12-03 22:27:31 +02:00
Serhiy Storchaka
b1f64e7d29
Issue #6478 : _strptime's regexp cache now is reset after changing timezone
...
with time.tzset().
2015-12-03 22:26:36 +02:00
Serhiy Storchaka
c7217d7c22
Issue #6478 : _strptime's regexp cache now is reset after changing timezone
...
with time.tzset().
2015-12-03 22:21:07 +02:00
Alexander Belopolsky
68713e41a5
Closes issue #12006 : Add ISO 8601 year, week, and day directives to strptime.
...
This commit adds %G, %V, and %u directives to strptime. Thanks Ashley Anderson
for the implementation.
2015-10-06 13:29:56 -04:00
Serhiy Storchaka
15fa1c4ade
Fixed using deprecated escaping in regular expression in _strptime.py (issue23622).
2015-03-25 01:21:50 +02:00
Serhiy Storchaka
fc7344a792
Issue #23136 : _strptime now uniformly handles all days in week 0, including
...
Jan 30 of previous year. Based on patch by Jim Carroll.
2015-03-19 19:14:15 +02:00
Serhiy Storchaka
423feea01e
Issue #23136 : _strptime now uniformly handles all days in week 0, including
...
Jan 30 of previous year. Based on patch by Jim Carroll.
2015-03-19 19:13:37 +02:00
Raymond Hettinger
df1b699447
Issue #22823 : Use set literals instead of creating a set from a list
2014-11-09 15:56:33 -08:00
Victor Stinner
7fa767e517
Issue #20976 : pyflakes: Remove unused imports
2014-03-20 09:16:38 +01:00
Serhiy Storchaka
b5d386314f
Issue #19545 : Avoid chained exceptions while passing stray % to
...
time.strptime(). Initial patch by Claudiu Popa.
2013-11-24 18:17:11 +02:00
Serhiy Storchaka
cdac302af3
Issue #19545 : Avoid chained exceptions while passing stray % to
...
time.strptime(). Initial patch by Claudiu Popa.
2013-11-24 18:15:37 +02:00
Ezio Melotti
9a3777e525
#18705 : merge with 3.3.
2013-08-17 15:53:55 +03:00
Ezio Melotti
30b9d5d3af
#18705 : fix a number of typos. Patch by Févry Thibault.
2013-08-17 15:50:46 +03:00
Brett Cannon
cd171c8e92
Issue #18200 : Back out usage of ModuleNotFoundError (8d28d44f3a9a)
2013-07-04 17:43:24 -04:00
Brett Cannon
0a140668fa
Issue #18200 : Update the stdlib (except tests) to use
...
ModuleNotFoundError.
2013-06-13 20:57:26 -04:00
Ezio Melotti
d57f047665
#17572 : merge with 3.3.
2013-04-04 02:16:27 +03:00
Ezio Melotti
0f38908684
#17572 : Avoid chained exceptions while passing bad directives to time.strptime(). Initial patch by Claudiu Popa.
2013-04-04 02:09:20 +03:00
Antoine Pitrou
2306e6049b
Issue #17165 : fix a bare import in _strptime.py.
...
Patch by Berker Peksag.
2013-02-10 19:29:17 +01:00
Alexander Belopolsky
c142bba2a7
Issue #1667546 : On platforms supporting tm_zone and tm_gmtoff fields
...
in struct tm, time.struct_time objects returned by time.gmtime(),
time.localtime() and time.strptime() functions now have tm_zone and
tm_gmtoff attributes. Original patch by Paul Boddie.
2012-06-13 22:15:26 -04:00
Antoine Pitrou
072e4a3fc7
Followup to issue #14157 : respect the relative ordering of values produced by time.strptime().
...
Patch by Hynek.
2012-05-14 19:44:59 +02:00
Antoine Pitrou
1682e5d740
Issue #14157 : Fix time.strptime failing without a year on February 29th.
...
Patch by Hynek Schlawack.
2012-05-10 20:17:46 +02:00
Alexander Belopolsky
4988d7a375
PEP 8 conformance: class_ -> cls
2010-07-14 13:46:57 +00:00
Alexander Belopolsky
f568218e7e
Issue #6641 : Original commit for this issue, r82053, introduced a
...
regression making datetime subclass' strptime return datetime rather
than subclass instances. Fixed this bug and a few typos.
2010-06-18 18:44:37 +00:00
Alexander Belopolsky
ca94f55758
Issue #6641 : The datetime.strptime method now supports the %z directive.
2010-06-17 18:30:34 +00:00
Brett Cannon
71095ea4ce
The message for the exception when time.strptime was passed something other
...
than str did not output the type of the argument but the object itself.
2009-03-31 03:58:04 +00:00
Brett Cannon
7f6b4f86e3
Make sure time.strptime only accepts strings (and document the fact like
...
strftime). Already didn't accept bytes but make the check earlier. This also
lifts the limitation of requiring ASCII.
Closes issue #5236 . Thanks Tennessee Leeuwenburg.
2009-03-30 21:30:26 +00:00
Antoine Pitrou
fd036451bf
#2834 : Change re module semantics, so that str and bytes mixing is forbidden,
...
and str (unicode) patterns get full unicode matching by default. The re.ASCII
flag is also introduced to ask for ASCII matching instead.
2008-08-19 17:56:33 +00:00