日期:尝试以特定格式设置 Linux 日期的日期无效

use*_*898 4 linux date time

我尝试以特定格式设置 Linux 日期和时间,但它一直给我错误\n示例:

\n\n
date "+%d-%m-%C%y %H:%M:%S" -d "19-01-2017 00:05:01"\nor \ndate +"%d-%m-%C%y %H:%M:%S" -d "19-01-2017 00:05:01"\n
Run Code Online (Sandbox Code Playgroud)\n\n

继续给我这个错误:

\n\n
date: invalid date \xe2\x80\x9819-01-2017 00:05:01\xe2\x80\x99\n
Run Code Online (Sandbox Code Playgroud)\n

Mr *_*unz 5

这个问题看起来像是你的“日期字符串”,即"19-01-2017 00:05:01"

从手册页:

The  --date=STRING  is  a  mostly  free format human readable date string such as "Sun, 29 Feb 2004 16:21:42 -0800" or
       "2004-02-29 16:21:42" or even "next Thursday".  A date string may contain items indicating calendar date, time of day,
       time  zone,  day  of  week, relative time, relative date, and numbers.
Run Code Online (Sandbox Code Playgroud)

现在,“大多数自由格式的人类可读日期”有点模糊,看起来19-01-2017不可读。可能是因为在类似的情况下它可能无法解析(是 3 月 2 日还是 2 月 03 日?)。02-03-2019

尝试将其更改为 ISO 格式:

$> date "+%d-%m-%C%y %H:%M:%S" -d "2017-01-19 00:05:01"
19-01-2017 00:05:01
Run Code Online (Sandbox Code Playgroud)

o 使用类似于手册页中示例的格式:

$> date "+%d-%m-%C%y %H:%M:%S" -d "19 Jan 2017 00:05:01"
19-01-2017 00:05:01
Run Code Online (Sandbox Code Playgroud)