@@ -794,12 +794,37 @@ def test_to_datetime_np_str(self):
794
794
["2015-1-1" , "%G-%V-%u" , datetime (2014 , 12 , 29 , 0 , 0 )],
795
795
["2015-1-4" , "%G-%V-%u" , datetime (2015 , 1 , 1 , 0 , 0 )],
796
796
["2015-1-7" , "%G-%V-%u" , datetime (2015 , 1 , 4 , 0 , 0 )],
797
+ ["2024-52-1" , "%G-%V-%u" , datetime (2024 , 12 , 23 , 0 , 0 )],
798
+ ["2024-52-7" , "%G-%V-%u" , datetime (2024 , 12 , 29 , 0 , 0 )],
799
+ ["2025-1-1" , "%G-%V-%u" , datetime (2024 , 12 , 30 , 0 , 0 )],
800
+ ["2020-53-1" , "%G-%V-%u" , datetime (2020 , 12 , 28 , 0 , 0 )],
797
801
],
798
802
)
799
803
def test_to_datetime_iso_week_year_format (self , s , _format , dt ):
800
804
# See GH#16607
801
805
assert to_datetime (s , format = _format ) == dt
802
806
807
+ @pytest .mark .parametrize (
808
+ "msg, s, _format" ,
809
+ [
810
+ [
811
+ "Week 53 does not exist in ISO year 2024" ,
812
+ "2024 53 1" ,
813
+ "%G %V %u" ,
814
+ ],
815
+ [
816
+ "Week 53 does not exist in ISO year 2023" ,
817
+ "2023 53 1" ,
818
+ "%G %V %u" ,
819
+ ],
820
+ ],
821
+ )
822
+ @pytest .mark .parametrize ("errors" , ["raise" ])
823
+ def test_invalid_iso_week_53 (self , msg , s , _format , errors ):
824
+ # See GH#60885
825
+ with pytest .raises (ValueError , match = msg ):
826
+ to_datetime (s , format = _format , errors = errors )
827
+
803
828
@pytest .mark .parametrize (
804
829
"msg, s, _format" ,
805
830
[
0 commit comments