Я пытаюсь написать скрипт python, который будет сравнивать даты с двух разных страниц. Формат даты на одной странице - 03 октября 2016 года, тогда как на другой странице (10/3/2016). Моя цель - сравнить эти две даты. Я смог конвертировать Oct в 10, но не знаю, как сделать это 10/3/2016.Split and Combine Date
ответ
Используйте datetime
модуль для преобразования строки в datetime
объекта, а затем сравнить оба. Например:
>>> from datetime import datetime
>>> date1 = datetime.strptime('Oct 03 2016', '%b %d %Y')
>>> date2 = datetime.strptime('10/3/2016', '%m/%d/%Y')
>>> date1 == date2
True
Кроме того, вы можете преобразовать этот datetime
объект в пользовательский формат, используя datetime.strftime() как:
>>> date1.strftime('%d * %B * %Y')
'03 * October * 2016'
Список всех директив, используемых для форматирования строки доступны в strftime
ссылке I упомянутое выше.
Для этого вам действительно нужна библиотека dateutil
.
>>> import dateutil.parser
>>> first_date = dateutil.parser.parse('Oct 03 2016')
>>> second_date = dateutil.parser.parse('10/3/2016')
>>> first_date
datetime.datetime(2016, 10, 3, 0, 0)
>>> second_date
datetime.datetime(2016, 10, 3, 0, 0)
>>> first_date == second_date
True
>>>
дата импортаtut показывает ошибку для меня. – user18160
Да. Вам необходимо установить его. –
@MoinuddinQuadri возглашает. Да, это должно быть 'import dateutil.parser'. Я обычно перепечатываю все в оболочке, когда играю с ним, поэтому могу легко скопировать и вставить ответ. –
- 1. Java Split String and Combine
- 2. Combine ConsoleModifiers and ConsoleKey
- 3. Excel: Combine = vlookup and = countif
- 4. SQL Date Range Split
- 5. R Change Month/Combine Date & Year Vectors
- 6. SQLite date split
- 7. Combine Rack :: Builder and Rack :: Cascade
- 8. Loop and Combine Time Ranges в массиве
- 9. Regex split and replace
- 10. Strings Split and Join
- 11. ReadFile and Split info
- 12. GroupBy date and time, orderBy date, and time AngularJS
- 13. Doctrine OneByOne's and Date
- 14. VB Date and Datetimepicker
- 15. DateTime and Date Comparison
- 16. Javascript date and/picker
- 17. Swagger and Date
- 18. Как Split-Apply-Combine для нескольких переменных/столбцов в R
- 19. php inserting date and date +1 vars
- 20. Mysql Count user, status, and date date
- 21. Camel Split File and Exchange
- 22. Lossy Split and Join Expression
- 23. Java split before and stop
- 24. Ms Sql Split and Convert
- 25. Python regex search AND split
- 26. Bazaar split and & Rich Roots
- 27. Split and merge pandas dataframe
- 28. Создание объекта Date Date From String Использование split и map
- 29. Actionscript 3 Load> Combine> and Save External Images
- 30. Couch db date and overFlow
@Quadri Я пытаюсь использовать ваш ответ, но получаю сообщение об ошибке «TypeError: должен быть строкой, а не списком». Что мне делать? Я пытаюсь использовать переменную вместо даты ** date1 = datetime.strptime (date, '% b% d% Y') ** – user18160
Значение, которое нужно передать как 'date', должно быть из' str', но на основе ошибки, которую вы получаете, вы передаете объект типа 'list'. –
Точно, как я могу это сделать? Я имею в виду, что я хочу что-то вроде этого: date = = 07 октября 2016 date1 = datetime.strptime (date, '% b% d% Y') ** – user18160