дата -d «предыдущий понедельник» для отображения предыдущего понедельника


10

С date -dможет отображать будущее или следующую дату

$ date -d "next mon"
Mon May 13 00:00:00 CST 2019

$ date -d "mon"
Mon May 13 00:00:00 CST 2019

К сожалению, он не смог отобразить предыдущий день недели

$ date -d "previous Monday"
date: invalid date previous Monday

Как можно отобразить предыдущий день недели в строковом формате?

Ответы:


14

Используйте lastвместо previous:

$ date -d "last Monday"
Mon May  6 00:00:00 BST 2019

Это задокументировано info date, а конкретное упоминание last- в разделе «29.6 дней недели» (спасибо @Jos и @hobbs за их поиск):

Число может предшествовать пункту дня недели, чтобы двигаться вперед на дополнительные недели. Лучше всего использовать это выражение как «третий понедельник». В этом контексте «последний день» или «следующий день» также приемлемы; они перемещаются за неделю до или после дня, который этот день сам по себе представляет.


Комментарии не для расширенного обсуждения; этот разговор был перенесен в чат .
тердон
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.