Вы можете сделать date
всю работу за вас: -d
опция позволяет вам указать дату в «в основном свободной форме для чтения человеком строки даты» (с man date
).
К сожалению, формат не является достаточно свободным, чтобы принять hwclock
вывод, но он прекрасно работает, если вы удалите последнее поле, указывающее доли секунды:
date -d "$(hwclock|sed 's/ \..*$//g')"
Я проверил, но не смог определить формат, когда есть доли секунды, поэтому я не знаю, будет ли он показывать тот же формат, например Sat 28 Jul 2018 08:47:47 PM BST .000000 seconds
. Если десятичной запятой нет, sed
потребуется другая замена.
Если после часового пояса еще есть двойной пробел, сработает следующее:
date -d "$(hwclock|sed 's/ .*$//g')"
Вы можете сделать это сценарием оболочки или функцией, определенной ~/.bashrc
как нечто вроде hwclockdf
(например, в date
формате).