如何在 bash 中创建日期类型?
这个日期是什么意思?'1803141400'
touch -t 1803141400 test1 test2
我如何计算时间?
答案1
根据触摸手册页:
-t STAMP
use [[CC]YY]MMDDhhmm[.ss] instead of current time
在哪里:
CC: First two digit of the year
YY: Last two digits of the year
MM: Month (two-digit numeric month)
DD: Day (two-digit numeric day i.e. day of month)
hh: Hour
mm: Minutes
ss: Seconds
[]
表示该字段是可选的
在您的例子中1803141400
意味着:2018 mar 14, 14.00
和将根据该值更改和文件touch
的时间戳。test1
test2
$ ls -l test1 test2
-rw-rw-r-- 1 yourUser yourGroup 0 mar 14 2018 test1
-rw-rw-r-- 1 yourUser yourGroup 0 mar 14 2018 test2
答案2
该 -t
选项允许用户在使用touch
命令创建文件时添加特定的最后访问时间。
后面跟着的是日月年分秒格式的字符串,后者采用[[CC]YY]MMDDhhmm[.ss]格式,其中CC
、YY
和SS
是可选的。
例如,创建带有时间戳的文件临时文件
[guru@guru-Aspire ~]$touch -t 12141105 temp
[guru@guru-Aspire ~]$ls -l --full-time temp
-rw-rw-r-- 1 guru guru 0 2014-12-14 11:05:00.000000000 +0530 temp
如您所见,如果您不提供CC
和YY
,它会自动插入当前的 CC 和 YY。
就你的情况来说touch -t 1803141400 test1 test2
它将创建一个时间戳
年份 - 2018(第一对数字)
月 - 03(第二对数字)
日期 - 14(第三对数字)
时间 - 14:02(第四和第五对数字)
[guru@guru-Aspire ~]$ ls -l --full-time test*
-rw-rw-r-- 1 guru guru 0 2018-03-14 14:00:00.000000000 +0530 test1
-rw-rw-r-- 1 guru guru 0 2018-03-14 14:00:00.000000000 +0530 test2