5353use crate :: exceptions:: { PyTypeError , PyValueError } ;
5454#[ cfg( Py_LIMITED_API ) ]
5555use crate :: intern;
56- use crate :: types:: datetime:: timezone_from_offset;
5756#[ cfg( not( Py_LIMITED_API ) ) ]
5857use crate :: types:: datetime:: { PyDateAccess , PyDeltaAccess } ;
59- use crate :: types:: {
60- timezone_utc, PyAnyMethods , PyDate , PyDateTime , PyDelta , PyNone , PyTime , PyTzInfo ,
61- } ;
58+ use crate :: types:: { PyAnyMethods , PyDate , PyDateTime , PyDelta , PyNone , PyTime , PyTzInfo } ;
6259#[ cfg( not( Py_LIMITED_API ) ) ]
6360use crate :: types:: { PyTimeAccess , PyTzInfoAccess } ;
6461use crate :: { Bound , FromPyObject , IntoPyObject , PyAny , PyErr , PyResult , Python } ;
@@ -359,7 +356,7 @@ impl<'py> IntoPyObject<'py> for UtcOffset {
359356 // Get offset in seconds
360357 let seconds_offset = self . whole_seconds ( ) ;
361358 let td = PyDelta :: new ( py, 0 , seconds_offset, 0 , true ) ?;
362- timezone_from_offset ( & td)
359+ PyTzInfo :: fixed_offset ( py , td)
363360 }
364361}
365362
@@ -460,7 +457,7 @@ impl<'py> IntoPyObject<'py> for UtcDateTime {
460457 let date = self . date ( ) ;
461458 let time = self . time ( ) ;
462459
463- let py_tzinfo = & timezone_utc ( py) ;
460+ let py_tzinfo = PyTzInfo :: utc ( py) ? ;
464461
465462 let year = date. year ( ) ;
466463 let month = date. month ( ) as u8 ;
@@ -479,7 +476,7 @@ impl<'py> IntoPyObject<'py> for UtcDateTime {
479476 minute,
480477 second,
481478 microsecond,
482- Some ( py_tzinfo) ,
479+ Some ( & py_tzinfo) ,
483480 )
484481 }
485482}
@@ -508,7 +505,7 @@ impl FromPyObject<'_> for UtcDateTime {
508505 } ;
509506
510507 // Verify that the tzinfo is UTC
511- let is_utc = tzinfo. eq ( timezone_utc ( ob. py ( ) ) ) ?;
508+ let is_utc = tzinfo. eq ( PyTzInfo :: utc ( ob. py ( ) ) ? ) ?;
512509
513510 if !is_utc {
514511 return Err ( PyValueError :: new_err (
@@ -978,7 +975,7 @@ mod tests {
978975 // Create Python time with timezone (just to ensure we can handle it properly)
979976 let datetime = py. import ( "datetime" ) . unwrap ( ) ;
980977 let time_type = datetime. getattr ( intern ! ( py, "time" ) ) . unwrap ( ) ;
981- let tz_utc = timezone_utc ( py) ;
978+ let tz_utc = PyTzInfo :: utc ( py) . unwrap ( ) ;
982979
983980 // Create time with timezone
984981 let py_time_with_tz = time_type. call1 ( ( 12 , 30 , 45 , 0 , tz_utc) ) . unwrap ( ) ;
@@ -1071,7 +1068,7 @@ mod tests {
10711068 let timedelta = datetime. getattr ( intern ! ( py, "timedelta" ) ) . unwrap ( ) ;
10721069
10731070 // Test UTC
1074- let tz_utc = timezone_utc ( py) ;
1071+ let tz_utc = PyTzInfo :: utc ( py) . unwrap ( ) ;
10751072 let utc_offset: UtcOffset = tz_utc. extract ( ) . unwrap ( ) ;
10761073 assert_eq ! ( utc_offset. whole_hours( ) , 0 ) ;
10771074 assert_eq ! ( utc_offset. minutes_past_hour( ) , 0 ) ;
@@ -1222,7 +1219,7 @@ mod tests {
12221219 // Create Python UTC datetime
12231220 let datetime = py. import ( "datetime" ) . unwrap ( ) ;
12241221 let datetime_type = datetime. getattr ( intern ! ( py, "datetime" ) ) . unwrap ( ) ;
1225- let tz_utc = timezone_utc ( py) ;
1222+ let tz_utc = PyTzInfo :: utc ( py) . unwrap ( ) ;
12261223
12271224 // Create datetime with UTC timezone
12281225 let py_dt = datetime_type
0 commit comments