File tree Expand file tree Collapse file tree 2 files changed +15
-2
lines changed Expand file tree Collapse file tree 2 files changed +15
-2
lines changed Original file line number Diff line number Diff line change 1515
1616import  unittest 
1717
18- from  yfinance .utils  import  is_valid_period_format , _dts_in_same_interval 
18+ from  yfinance .utils  import  is_valid_period_format , _dts_in_same_interval ,  _parse_user_dt 
1919
2020
2121class  TestPandas (unittest .TestCase ):
@@ -169,6 +169,19 @@ def test_minute_intervals(self):
169169        dt3  =  pd .Timestamp ("2024-10-15 10:31:00" )
170170        self .assertFalse (_dts_in_same_interval (dt1 , dt3 , "1min" ))
171171
172+ class  TestParseUserDateTimeCheck (unittest .TestCase ):
173+     def  test_exchange_timezone (self ):
174+         dt1  =  pd .Timestamp ("2025-07-30 9:00:00" )
175+         dt2  =  _parse_user_dt (int (dt1 .timestamp ()), exchange_tz = "US/Eastern" )
176+         dt3  =  _parse_user_dt (int (dt1 .timestamp ()), exchange_tz = "Asia/Tokyo" )
177+         dt4  =  _parse_user_dt (int (dt1 .timestamp ()), exchange_tz = "US/Pacific" )
178+         dt5  =  _parse_user_dt (dt4 , exchange_tz = "Hongkong" )
179+         self .assertEqual (int (dt1 .timestamp ()), int (dt2 .timestamp ()))
180+         self .assertEqual (int (dt1 .timestamp ()), int (dt3 .timestamp ()))
181+         self .assertEqual (int (dt1 .timestamp ()), int (dt4 .timestamp ()))
182+         self .assertEqual (int (dt1 .timestamp ()), int (dt5 .timestamp ()))
183+ 
184+ 
172185if  __name__  ==  "__main__" :
173186    unittest .main ()
174187
Original file line number Diff line number Diff line change @@ -402,7 +402,7 @@ def snake_case_2_camelCase(s):
402402def  _parse_user_dt (dt , exchange_tz ):
403403    if  isinstance (dt , int ):
404404        # Should already be epoch, test with conversion: 
405-         dt  =  _pd .Timestamp (_datetime .datetime .fromtimestamp (dt )). tz_localize ( "UTC" ).tz_convert (exchange_tz )
405+         dt  =  _pd .Timestamp (_datetime .datetime .fromtimestamp (dt ,  tz = _datetime . timezone . utc ) ).tz_convert (exchange_tz )
406406    else :
407407        # Convert str/date -> datetime, set tzinfo=exchange, get timestamp: 
408408        if  isinstance (dt , str ):
    
 
   
 
     
   
   
          
     
  
    
     
 
    
      
     
 
     
    You can’t perform that action at this time.
  
 
    
  
     
    
      
        
     
 
       
      
     
   
 
    
    
  
 
  
 
     
    
0 commit comments