Как правильно звучит вопрос. Я хочу вычесть 20120115 из 20120203 и получить 19 в качестве ответа. Каков наилучший способ реализовать это в сценарии оболочки?Как получить разницу между двумя датами в bash
ответ
let DIFF=(`date +%s -d 20120203`-`date +%s -d 20120115`)/86400
echo $DIFF
Как дата признана, что строка находится в формате YYYYMMDD? Пожалуйста, направляйте меня в документацию. –
man 1 date говорит: «The -date = STRING - это в основном свободная форма строки для чтения человеком» –
Что делать, если строка 03022012? Обратите внимание, что я изменил формат на DDMMYYYY. –
Быстро и совершенно грязное исправление, которое может использоваться в сценариях (быстро и также быстро):
function getdate { for dd in $(seq -w $1 $2) ; do date -d $dd +%Y%m%d 2>/dev/null ; done ; }
Я использую эту функцию для других целей, связанных с лог-файлов. И подсчитать дни:
echo "$(getdate YYYYmmdd YYYYmmdd)" | wc -l
YYYYmmdd должно быть датами, конечно. Он работает только в том случае, если $ 1 - это более ранняя дата, чем 2 доллара, и она медленная для больших различий по дате, но в течение нескольких лет и для использования в ad-hoc-сценариях это очень удобно.
И если вам случится иметь MySql или подобный установленный там очень быстрый вариант:
mysql -BNe "SELECT DATEDIFF($1,$2) AS DiffDate ;" | tr -d -
Последние tr
позволяет вводить даты в любом порядке (MySQL бы еще отрендерить «-'if первый день раньше, чем второй)
- 1. Как получить разницу между двумя датами?
- 2. Как получить разницу между двумя датами?
- 3. Как получить разницу между двумя датами?
- 4. Получить разницу между двумя датами в часах
- 5. получить разницу во времени между двумя датами
- 6. Получить разницу между двумя датами включительно
- 7. Получить разницу значений между двумя датами
- 8. Рассчитать разницу между двумя датами
- 9. Получите разницу между двумя датами
- 10. Как получить разницу между месяцами между двумя датами в PHP
- 11. рассчитать разницу между двумя датами
- 12. Рассчитать разницу между двумя датами
- 13. Вычислить разницу между двумя датами в MySQL
- 14. Получите разницу между двумя датами в минутах
- 15. Получите разницу в часах между двумя датами
- 16. Вычисляет разницу между двумя датами в PHP
- 17. Как получить разницу между двумя датами в днях в java
- 18. JScript: Как рассчитать разницу между двумя датами?
- 19. Как найти разницу между двумя датами
- 20. Как найти разницу между двумя датами?
- 21. Как найти разницу между двумя датами C++
- 22. Как найти разницу между двумя датами
- 23. Как я могу получить разницу в часах между двумя датами?
- 24. Как получить разницу между двумя датами в Symfony MongoDB?
- 25. Как получить разницу между двумя датами в PHP?
- 26. Как получить разницу между двумя датами в SQL Server
- 27. Как получить разницу между двумя датами в python?
- 28. Как получить разницу между двумя переменными датами в SSRS
- 29. Как получить абсолютную разницу дат между двумя датами в PHP?
- 30. Как получить разницу между двумя датами в php
Возможная дубликат проверка на этот вопрос: http://stackoverflow.com/questions/4946785/how-to-find-difference-days-between-to-dates –
Вы рассмотрели другой язык сценариев, который поддерживает даты по своей сути? (python, ruby, perl, ... в определенном порядке). Также вы можете использовать скрипт onliner в источнике bash. – schoetbi
@schoetbi Я подумал об этом, но не был уверен в этой доступности во всем мире. Я знаю, что базовый баш и дата доступны во всех точках интереса, но не о остальных. – owagh