我使用date +"%Y%m%d%H"
生成字符串并读取相同的字符串以转换回日期。某种程度上反向不起作用。和%Y被视为前六个字符
# date +"%Y%m%d%H"
2017030216
# date -d 2017030215 +%Y
201703
# date -d 2017030215 +%m
02
为什么2017年没有回归?
答案 0 :(得分:2)
您将无效字符串传递给-d
,即不符合预期格式的字符串。该格式的文档位于:https://www.gnu.org/software/coreutils/manual/html_node/Date-input-formats.html
“2017030215”在大多数系统中不是有效的日期/时间字符串,date -d
也不例外。如果您想了解date -d
如何解释字符串,只需运行它而不使用+
选项即可查看完整输出。你可能会感到惊讶。