mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-30 22:25:19 +00:00 
			
		
		
		
	[utils] Add datetime_from_str to parse relative time (#221)
				
					
				
			and `datetime_add_months` to accurately add/subtract months Authored by: colethedj
This commit is contained in:
		| @@ -23,6 +23,7 @@ from yt_dlp.utils import ( | ||||
|     clean_html, | ||||
|     clean_podcast_url, | ||||
|     date_from_str, | ||||
|     datetime_from_str, | ||||
|     DateRange, | ||||
|     detect_exe_version, | ||||
|     determine_ext, | ||||
| @@ -311,8 +312,18 @@ class TestUtil(unittest.TestCase): | ||||
|         self.assertEqual(date_from_str('yesterday'), date_from_str('now-1day')) | ||||
|         self.assertEqual(date_from_str('now+7day'), date_from_str('now+1week')) | ||||
|         self.assertEqual(date_from_str('now+14day'), date_from_str('now+2week')) | ||||
|         self.assertEqual(date_from_str('now+365day'), date_from_str('now+1year')) | ||||
|         self.assertEqual(date_from_str('now+30day'), date_from_str('now+1month')) | ||||
|         self.assertEqual(date_from_str('20200229+365day'), date_from_str('20200229+1year')) | ||||
|         self.assertEqual(date_from_str('20210131+28day'), date_from_str('20210131+1month')) | ||||
|  | ||||
|     def test_datetime_from_str(self): | ||||
|         self.assertEqual(datetime_from_str('yesterday', precision='day'), datetime_from_str('now-1day', precision='auto')) | ||||
|         self.assertEqual(datetime_from_str('now+7day', precision='day'), datetime_from_str('now+1week', precision='auto')) | ||||
|         self.assertEqual(datetime_from_str('now+14day', precision='day'), datetime_from_str('now+2week', precision='auto')) | ||||
|         self.assertEqual(datetime_from_str('20200229+365day', precision='day'), datetime_from_str('20200229+1year', precision='auto')) | ||||
|         self.assertEqual(datetime_from_str('20210131+28day', precision='day'), datetime_from_str('20210131+1month', precision='auto')) | ||||
|         self.assertEqual(datetime_from_str('20210131+59day', precision='day'), datetime_from_str('20210131+2month', precision='auto')) | ||||
|         self.assertEqual(datetime_from_str('now+1day', precision='hour'), datetime_from_str('now+24hours', precision='auto')) | ||||
|         self.assertEqual(datetime_from_str('now+23hours', precision='hour'), datetime_from_str('now+23hours', precision='auto')) | ||||
|  | ||||
|     def test_daterange(self): | ||||
|         _20century = DateRange("19000101", "20000101") | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 colethedj
					colethedj