Преобразование локализованной строки даты в эпоху

Журнал, которым вы поделились, включает следующую строку:

/usr/bin/postgresql-check-db-dir ${PGROOT}/data (code=exited, status=1/FAILURE)

Что для $ PGROOT установлено значение? Существует ли $ PGROOT / data ? Есть ли в этом каталоге файлы init? В противном случае вам может потребоваться запустить initdb в каталоге.

Для инициализации создайте пустой каталог данных как root, затем используйте chown, чтобы назначить владение этим каталогом учетной записи пользователя базы данных, затем su, чтобы стать пользователем базы данных для запуска initdb / path / to / data .

3
09.06.2017, 19:58
2 ответа

К сожалению, с GNU date это в настоящее время невозможно. Из docs:

‘--date=datestr’

Отображение даты и времени, указанных в datestr, вместо текущих даты и времени. datestr может быть практически в любом распространенном формате. Он может содержать названия месяцев, часовые пояса, «утра» и «после полудня», «вчера» и т. д. Например, --date="2004-02-27 14:19:13.489392193 +0530" указывает момент времени, который составляет 489 392 193 наносекунды после 27 февраля 2004 г. в 14:19:13 в часовом поясе, который находится в 5 часах 30 минутах к востоку от UTC.
Примечание: в настоящее время ввод должен быть в формате, не зависящем от локали. Например, LC_TIME=C ниже необходим для печати правильной даты во многих локалях:

 date -d "$(LC_TIME=C date)"
 

(выделено мной)

2
27.01.2020, 21:15

GNU dateпонимает только английские,

Можно попробовать ksh93:

$ LC_ALL=pt_PT.UTF-8 ksh -c 'printf "%(%F)T\n" "Mai 12 06:58:47 WEST 2015"'
2015-05-12

Илиzsh:

zmodload zsh/datetime
strftime -rs t "%b %d %H:%M:%S %Z %Y" "Mai 12 06:58:47 WEST 2015"
strftime %F $t
3
27.01.2020, 21:15

Теги

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