1

我需要写入文件,然后获取 last_modified 日期并更新表。

我将如何执行以下操作:

echo 'new file' > /tmp/file.txt
stat /tmp/file.txt
16777218 16641883 -rw-r--r-- 1 david wheel 0 6 "Feb 19 16:48:21 2013" 
"Feb 19 16:48:21 2013" "Feb 19 16:48:21 2013" "Feb 19 16:48:21 2013" 
4096 8 0 hello.txt

如何获得 last_modified 格式的时间"YYYY-MM-DD HH:MM:SS"来执行以下 SQL 更新?

update title set datetime='2012-01-01 00:00:01' where id=2
4

1 回答 1

1

当您使用 bash 时,手册页中精确说明您可以以特定格式显示结果,因此您可以精确 stat 以人类可读的时间格式打印结果。

 stat --format=%x your_file

将显示上次访问的时间。

现在输出格式可以取决于您使用的 shell,(因为 stat 可以是内置的),所以如果您想确保按您的意愿对其进行解析,您可以使用大写选项字母,它会给您Epoch 格式的小写字母选项结果。

因此,如果您创建一个可以输入 Epoch 时间并打印出您想要获得的人类可读时间的小程序,您可以这样做:

cat --format=%X your_file | ./your_epoch_translator_program > your_result_file
update tile set datetime=`cat your_result_file` where id=2

这只是一个想法,希望这会有所帮助!

于 2013-02-20T01:20:22.090 回答