使用 ddmmyy 设置 Linux 日期

使用 ddmmyy 设置 Linux 日期

我需要使用从程序中获取的字符串来设置 Linux 机器的日期。此字符串的格式为 ddmmyy。是否可以直接使用它,还是需要先重新格式化?

目前我已尝试以下操作但没有任何成功:

 date +%d%m%y -s "071012"

这应该是 2012 年 10 月 7 日但它被反向解释然后变成了 12. Oct 07.

如果我尝试告诉日期使用反向格式:

date +%y%m%d -s "071012"

它仍然会将其读为 12. Oct 07. 我宁愿不反转字符串,因为我认为日期可以解决这个问题。

答案1

设置+输出仅格式。如果您想使用该选项,则需要预先格式化字符串-s(通过修改程序或使用例如sed)。

对于您来说,您可以通过以下方式传输程序的结果:

sed -e "s/\(..\)\(..\)\(..\)/\\3\\2\\1/"

答案2

将日期存储在 shell 变量中,您可以像这样设置日期:

dt=`your_program`
date -s "${dt:4:2}${dt:2:2}${dt:0:2}"

相关内容