moments套件很好用。之前自己的手机用DS_FILE同步到服务器的相册里,然后用MOMENTS打开共享相册来查看图片,体验拉爆。但是在同步媳妇儿的手机时,发现时间线里同步的几千张照片全部塞到了1970年下面。经过对比,PHOTOS套件里的照片时间可以正常显示。那么为什么MOMENTS中就不行呢。
测试发现,有可能是OPPO手机的缘故,同步上来的照片修改日期全部是1970年1月1日。
这应该就是问题所在了。MOMENTS套件获取照片日期用的是MODIFY DATE,那么这样一索引,肯定就全部弄到1970年去了。
MOMENTS界面上是提供修改拍摄日期的功能的。但是这样一张一张改我不改到明年过年了。不如写脚本把图片文件的日期直接改了
说干就干
先捞出来几张图片做测试
大概就是这几种格式了。由于中间出了问题。后面的视频并没有同步,先把图片文件解决了再说吧。 观察到图片名上面是包含时间的。那么就用图片名的时间来设置文件修改时间。
先截掉前面的字符
tt=${file#*IMG}
tt=${tt#*Screenshot_}
再取文件名的时间并截掉后缀
tt2=${tt%%.jpg}
year=${tt2:0:4}
month=${tt2:4:2}
day=${tt2:6:2}
hour=${tt2:8:2}
min=${tt2:10:2}
sec=${tt2:12:2}
tt3="${year}-${month}-${day} ${hour}:${min}:${sec}"
最后修改文件时间,这里直接修改了atime和mtime
touch $file -d "${tt3}"
看一下效果
完美
最后不要忘了在MOMENTS的设置那里重建索引
脚本下载: