mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 14:45:14 +00:00 
			
		
		
		
	[utils] strftime_or_none: Handle negative timestamps
				
					
				
			Closes #6706 Authored by pukkandan, dirkf
This commit is contained in:
		| @@ -2452,7 +2452,10 @@ def strftime_or_none(timestamp, date_format, default=None): | |||||||
|         if isinstance(timestamp, (int, float)):  # unix timestamp |         if isinstance(timestamp, (int, float)):  # unix timestamp | ||||||
|             # Using naive datetime here can break timestamp() in Windows |             # Using naive datetime here can break timestamp() in Windows | ||||||
|             # Ref: https://github.com/yt-dlp/yt-dlp/issues/5185, https://github.com/python/cpython/issues/94414 |             # Ref: https://github.com/yt-dlp/yt-dlp/issues/5185, https://github.com/python/cpython/issues/94414 | ||||||
|             datetime_object = datetime.datetime.fromtimestamp(timestamp, datetime.timezone.utc) |             # Also, datetime.datetime.fromtimestamp breaks for negative timestamps | ||||||
|  |             # Ref: https://github.com/yt-dlp/yt-dlp/issues/6706#issuecomment-1496842642 | ||||||
|  |             datetime_object = (datetime.datetime.fromtimestamp(0, datetime.timezone.utc) | ||||||
|  |                                + datetime.timedelta(seconds=timestamp)) | ||||||
|         elif isinstance(timestamp, str):  # assume YYYYMMDD |         elif isinstance(timestamp, str):  # assume YYYYMMDD | ||||||
|             datetime_object = datetime.datetime.strptime(timestamp, '%Y%m%d') |             datetime_object = datetime.datetime.strptime(timestamp, '%Y%m%d') | ||||||
|         date_format = re.sub(  # Support %s on windows |         date_format = re.sub(  # Support %s on windows | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 pukkandan
					pukkandan