Можно указать дату от UTC + 3 до linux при создании строки метки времени? - PullRequest
0 голосов
/ 16 апреля 2020

Я пытаюсь создать строку метки времени:

  TS=$(date -d "today" +"%Y_%d_%m_%H%M%S")
  echo "TS = $TS"

Но мне нужно, чтобы она была в UTC + 3. Страницы руководства на дату не показывают это как вариант, и я не хочу изменять локаль ОС.

Я пытался:

$ date -d "today" +"%Y_%d_%m_%H%M%S +0300"
2020_16_04_090342 +0300

$ date -d "today" +"%Y_%d_%m_%H%M%S +0400"
2020_16_04_090347 +0400

Так что, похоже, это не имеет никакого эффекта. Также строка НЕ ​​должна содержать смещение, просто должно быть:

2020_16_04_120347

Есть предложения?

1 Ответ

1 голос
/ 16 апреля 2020

man date

СТРОКА ДАТЫ
- date = STRING - это в основном свободная для чтения строка даты человеком, такая как "Sun, 29 Feb 2004 16 : 21: 42 -0800 "или" 2004-02-29 16:21:42 "или даже" в следующий четверг ". Строка даты может содержать элементы, указывающие дату календаря, время дня, часовой пояс, день недели, относительное время, относительную дату и числа. Пустая строка указывает на начало дня. Формат строки даты является более сложным, чем это легко документировано здесь, но полностью описано в информационной документации.

date -d "today" +"%Y_%d_%m_%H%M%S +0300"
...