ISO格式的日志创建日期

问题描述

我要从文件夹中删除一些文件,并且想以ISO格式记录文件的创建和删除日期。我能够以ISO格式获取删除日期,但不能以ISO格式获取创建日期。下面是我正在尝试的命令

find /home/xyz/Pictures -maxdepth 1 -name "*.jpeg" -type f -ctime +48 -printf "%P %t $(date -Is)\n" >> log1.log

输出:

download.jpeg Fri Apr 24 19:30:59.0130057090 2020 2020-11-01T16:12:57+05:30

必需的输出:

download.jpeg 2020-04-24T11:12:57+05:30 2020-11-01T16:12:57+05:30

解决方法

正如find manual page所揭示的那样,printf格式代码%t以语言环境的默认格式打印时间。您必须将%T与其他格式代码字符一起使用才能获得不同的格式。

不幸的是,find没有开箱即用的ISO格式。 %T+非常接近,但还远远不够。因此,您必须将多个%T代码组合成所需的精确格式。

%TY-%Tm-%TdT%TT

根据您的要求,也可以添加%TZ来获取时区。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...