Как получить текущую дату в следующем формате с помощью Bash
YYYY-MM-ДДTчч: мм: сс
Как получить текущую дату в следующем формате с помощью Bash
YYYY-MM-ДДTчч: мм: сс
С помощью этих опций:
$ date "+%Y-%m-%d %H:%M:%S"
2013-10-24 10:40:12
или даже (спасибо Birei!)
$ date "+%F %T"
2013-10-24 10:40:12
Все элементы управления форматом можно получить из man date
.
Я не знаю, что означает ваш T
, но, например, у вас есть:
$ date "+%F %T %Z"
2013-10-24 10:40:12 CEST
Используйте формат даты -I (iso-8601), как уже указано @karfau
$ man date
-I[FMT], --iso-8601[=FMT]
output date/time in ISO 8601 format. FMT='date' for date only (the default),
'hours', 'minutes', 'seconds', or 'ns' for date and time to the indicated
precision.
Example: 2006-08-14T02:34:56-06:00
Примеры:
$ date -I
2018-10-23
$ date -Iminutes
2018-10-23T14:56-07:00
$ date -Iseconds
2018-10-23T14:56:44-07:00
Когда вы начинаете с командной строки, очень здорово иметь огромное сообщество пользователей, которые могут отвечать на вопросы и помогать вам на вашем пути. Если вы используете macOS, некоторые из очень хороших советов не будут работать правильно из-за определенных вариантов и реализаций Apple.
Есть много способов сделать что-то. У меня нет определенных предпочтений в любом случае, за исключением того, что я просто хочу, чтобы все работало просто и правильно. Быть "совместимым" с большинством пользователей, которые пишут здесь, сделает вашу жизнь проще. Coreutils
- это бесплатное программное обеспечение, которое сделает macOS более "совместимым" со стандартными инструментами Linux.
Nerd Sidebar
Если вы заинтересованы в деталях и философии супер-ботаника или, возможно, хотите создать свои собственные утилиты, мне нравится эта страница на MaiZure Projects, в которой рассматривается дизайн инструментов. Это официальное репозиторий github, и оно содержит множество инструментов и улучшений десятилетий разработки, начавшейся в 1983 году. Как и следовало ожидать, это набор различных классических сисоп- языков.
Для большинства людей, которые просто хотят, чтобы он работал правильно, установите coreutils
и символическую ссылку, чтобы заменить оригиналы. Инструкция входит в комплект.
Coreutils
- это стандартный (не встроенный) набор утилит, который гораздо более "совместим" со многими советами по "linux-ish", которые вы видите в Интернете. Какую бы оболочку вы не использовали (BASH, ZSH и т.д.), Вы можете значительно упростить свою жизнь, установив этот набор основных утилит GNU.
С сайта GNU:
Coreutils - основные утилиты GNU
Введение в Coreutils
Утилиты GNU Core - это базовые утилиты для работы с файлами, оболочками и текстом в операционной системе GNU. Это основные утилиты, которые, как ожидается, существуют в каждой операционной системе.
Самый простой способ установить их на macOS - это Homebrew.
$ brew install coreutils
Если вас это заинтересует, существует также не связанный с этим активный проект, называемый moreutils
для рассмотрения и создания более полезных утилит. Я определенно считаю это более необязательным и ситуативным, но удобным:
$ brew install moreutils
Если вы полны решимости найти конкретное решение этой проблемы, добавьте следующее в ваш ~/.bash_profile (или какую бы оболочку у вас не было):
mydate() { [[ "$1" = "-I" ]] && command date "+%Y-%m-%dT%H:%M:%S%z" || command date "[email protected]"; }
Есть так много способов сделать что-то. Большинство из них оценок обязательно являются мнением. Существует богатая история множества различных инструментов, простых и эффективных, которые привели нас туда, где мы находимся сегодня. Я люблю разнообразие этого. Это действительно воплощает идею "ваш пробег может варьироваться".