]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.13] gh-133940: test_strftime incorrectly calculates expected week (GH-134281)...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Tue, 20 May 2025 01:17:22 +0000 (03:17 +0200)
committerGitHub <noreply@github.com>
Tue, 20 May 2025 01:17:22 +0000 (01:17 +0000)
gh-133940: test_strftime incorrectly calculates expected week (GH-134281)

Let the system determine the correct tm_wday and tm_isdst.
(cherry picked from commit e3dda8f81832008adf19906004f0cd53de95dd0b)

Co-authored-by: Gustaf <79180496+GGyll@users.noreply.github.com>
Lib/test/test_strftime.py

index cebfc8927862a72735fa17040937bc2d67731a6c..f77b354c3919440749bc17e72b8231ed3cdae377 100644 (file)
@@ -39,7 +39,21 @@ class StrftimeTest(unittest.TestCase):
         if now[3] < 12: self.ampm='(AM|am)'
         else: self.ampm='(PM|pm)'
 
-        self.jan1 = time.localtime(time.mktime((now[0], 1, 1, 0, 0, 0, 0, 1, 0)))
+        jan1 = time.struct_time(
+            (
+                now.tm_year,  # Year
+                1,  # Month (January)
+                1,  # Day (1st)
+                0,  # Hour (0)
+                0,  # Minute (0)
+                0,  # Second (0)
+                -1,  # tm_wday (will be determined)
+                1,  # tm_yday (day 1 of the year)
+                -1,  # tm_isdst (let the system determine)
+            )
+        )
+        # use mktime to get the correct tm_wday and tm_isdst values
+        self.jan1 = time.localtime(time.mktime(jan1))
 
         try:
             if now[8]: self.tz = time.tzname[1]