使用以下命令获取日期没有问题:
$ date '+%d%m%y %H%M%S.%N'
250123 170411.504761505
但是不可能使用相同的格式设置它:
sudo date '+%d%m%y %H%M%S.%N' -u -s "250123 170411.504761505"
date: invalid date ‘250123 170411.504761505’
看起来小时、分钟和秒之间的分隔符是必需的。为什么?手册页似乎没有提到它。
它提到:
%H hour (00..23)
%M minute (00..59)
%S second (00..60)
因此,如果源字符串中有 6 位数字,它应该能够毫无问题地解析 IMO。
我认为纳米部分混淆了它,但没有:
$sudo date '+%d%m%y %H%M%S' -u -s "250123 170411"
date: invalid date ‘250123 170411’