Попробуйте это:
sudo yum install -y yum-utils && sudo yum-config-manager --add-repo https://dl.fedoraproject.org/pub/epel/7/x86_64/ && sudo yum install --nogpgcheck -y epel-release && sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 && sudo rm /etc/yum.repos.d/dl.fedoraproject.org*
Возможно, вы используете это:http://bbs.ceph.org.cn/question/584
Linux
— это всего лишь ядро, оно не имеет отношения к этим вопросам и ответам.
С реализацией busyboxdate
(GNU date
также рассматривает возможность реализации подобной опции ; GNU и busybox date
— это две реализации, обычно встречающиеся в системах, использующих Linux в качестве ядра, которые, насколько я знаю, поддерживают ваш синтаксис date -d @xxx
).
$ date -D %Y%m%d%H%M%S -d 20191027163020 +%s
1572193820
С ast -открытой реализацией date
(, подобной date
встроенной в ksh93, когда она построена как часть ast -open):
$ date -p %Y%m%d%H%M%S -d 20191027163020 +%s
1572193820
Со встроенной функцией strftime
zsh
:
$ zmodload zsh/datetime
$ strftime -r %Y%m%d%H%M%S 20191027163020
1572193820
С текущими версиями GNU date
вы можете преобразовать его в формат, который он поддерживает для своих -d
/ -f
(, например2019-10-27T16:30:20
):
t=20191027163020
printf '%s%s-%s-%sT%s:%s:%s\n' $(printf '%s\n' "$t" | fold -w2) |
date -f - +%s
Обратите внимание, что все они работают по местному времени. Поскольку смещение часового пояса не включено в ваш формат, оно неоднозначно.
Например, в материковой части Великобритании 20191027011200 может быть либо 1572138720, либо 1572135120, поскольку часы показывали 01 :12 :00 дважды с часовым интервалом после перехода на зимнее время.
$ date -d @1572138720 +%Y%m%d%H%M%S
20191027011200
$ date -d @1572135120 +%Y%m%d%H%M%S
20191027011200
Вы можете всегда использовать время в формате UTC, чтобы избежать подобных проблем (, установив для переменной среды $TZ
значение UTC0
, например ).