Подтвердить что ты не робот

Комбинированное представление даты и времени в Bash

Как получить текущую дату в следующем формате с помощью Bash

YYYY-MM-ДДTчч: мм: сс

4b9b3361

Ответ 1

С помощью этих опций:

$ 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

Ответ 2

Используйте формат даты -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

Ответ 3

Делаем ваши утилиты macOS Bash более совместимыми

Когда вы начинаете с командной строки, очень здорово иметь огромное сообщество пользователей, которые могут отвечать на вопросы и помогать вам на вашем пути. Если вы используете macOS, некоторые из очень хороших советов не будут работать правильно из-за определенных вариантов и реализаций Apple.

Быть совместимым

Есть много способов сделать что-то. У меня нет определенных предпочтений в любом случае, за исключением того, что я просто хочу, чтобы все работало просто и правильно. Быть "совместимым" с большинством пользователей, которые пишут здесь, сделает вашу жизнь проще. Coreutils - это бесплатное программное обеспечение, которое сделает macOS более "совместимым" со стандартными инструментами Linux.

Nerd Sidebar

Если вы заинтересованы в деталях и философии супер-ботаника или, возможно, хотите создать свои собственные утилиты, мне нравится эта страница на MaiZure Projects, в которой рассматривается дизайн инструментов. Это официальное репозиторий github, и оно содержит множество инструментов и улучшений десятилетий разработки, начавшейся в 1983 году. Как и следовало ожидать, это набор различных классических сисоп- языков.

C 57.5%   Shell 24.1%     Perl 13.1%  Makefile 2.2%   C++ 2.1%

Просто заставь это работать!

Для большинства людей, которые просто хотят, чтобы он работал правильно, установите 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]"; }

Есть так много способов сделать что-то. Большинство из них оценок обязательно являются мнением. Существует богатая история множества различных инструментов, простых и эффективных, которые привели нас туда, где мы находимся сегодня. Я люблю разнообразие этого. Это действительно воплощает идею "ваш пробег может варьироваться".

  • YMMV