如何计算 touch -t 的日期

如何计算 touch -t 的日期

如何在 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的时间戳。test1test2

$ 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]格式,其中CCYYSS是可选的。

例如,创建带有时间戳的文件临时文件

 [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

如您所见,如果您不提供CCYY,它会自动插入当前的 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

相关内容