Вычислить разницу между двумя датами в секундах с помощью программы date?

Я обнаружил, что это самое близкое к тому, что я искал. Идея временного буфера решает эту задачу. Другие решения намекают на циклы for, о которых, на мой взгляд, уже заботится комбинация find -exec.

https://unix.stackexchange.com/a/197400/119007

find./ -name '*.md' -exec sh -c "echo '{}' | sed 's/.md//' | sed 's/2000-01-01-//' > tmp && cat {} >> tmp && mv tmp {}" \;

-6
17.11.2019, 15:54
2 ответа
]# date --date='November 23 2019 00:00:00 PST' +%s
1574496000

Полтора гигасекунды. Я проверил это грубо, вычислив обратно.

]# echo $((2019 - 1574496000/(60*60*24*365)))
1970

for example, "January 1, 1970,...

Возможно, это заставляет некоторых голосовать против, потому что 1.1.1970 — это «нулевая» дата, а не пример. Например, спросить :, как рассчитать количество лет, прошедших, например, с года «0».

2
28.01.2020, 05:21

Простое расширение для ответа на общий вопрос. Сравните обе даты (с 1970 -01 -01 эпохой )с +%s, затем вычтите секунды. Разделите на 86400, чтобы получить дни.

Возможно, стоит подумать о часовых поясах и переходе на летнее время. В течение целых дней я обычно устанавливаю время на 12 :00 :00, что позволяет избежать большинства этих проблем.

1
28.01.2020, 05:21

Теги

Похожие вопросы