我需要写一个文件,然后获取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
如何以"YYYY-MM-DD HH:MM:SS"
格式获取last_modified时间以执行以下SQL更新?
update title set datetime='2012-01-01 00:00:01' where id=2
答案 0 :(得分:1)
当您使用bash时,它在手册页中已经精确到您可以以特定格式显示结果,因此您可以使用精确的统计信息以人类可读的时间格式打印结果。
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
这只是一个想法,希望这会有所帮助!