我遇到以下代码段中说明的问题:
$ echo "2014-10-26 23:24:38.3123123" | date -d -
Sun Oct 26 00:00:00 EDT 2014
$ date -d "2014-10-26 23:24:38.3123123"
Sun Oct 26 23:24:38 EDT 2014
正如您所看到的,当我使用echo
输入数据时,未获取小时/分钟/秒信息,但是当我将其用作命令行参数时,它会被拾取。我确信有些东西是我没有注意到的,但是如果有人可以告诉我这是什么,我将不胜感激!
答案 0 :(得分:0)
当你写:
$ echo "2014-10-26 23:24:38.3123123" | date -d -
2014-10-26
和23:24:38.3123123
之间的空格字符被视为参数分隔符,而date命令将日期字符串视为两个不同的参数。
您可以简单地转义此空格字符:
$ echo "2014-10-26\ 23:24:38.3123123" | date -d -
它有效;
Sun Oct 26 23:24:38 EDT 2014