Takeout JSON
ZH

拍摄日期和修改日期有什么区别?照片排序该看哪个

拍摄日期是按下快门的时间,存在照片内部;修改日期是文件最后一次被改动的时间,存在文件系统里。复制、从手机导出或 Takeout 导出之后两者就不一致了。

电脑上的每张照片至少有两个日期,它们回答的是两个不同的问题。

在 Windows 的文件资源管理器里右键一张照片,点「属性」,再点「详细信息」,能看到「拍摄日期」。回到「常规」,看到的是「创建时间」和「修改时间」。在 Mac 上选中照片按「显示简介」,也有「创建时间」和「修改时间」。这几个日期经常对不上,原因很简单:它们根本不是一回事。

拍摄日期:属于照片本身

拍摄日期是相机或手机在按下快门那一刻写进照片的时间,存在照片内部的 EXIF 里(标签叫 DateTimeOriginal)。不管文件被复制多少次、换了多少块硬盘,它都不会变。

这是你真正关心的那个日期。相册软件、手机相册、Immich、NAS 的照片应用,排时间线时都先读它。

修改日期和创建日期:属于文件

修改日期创建日期属于文件,不属于照片。它们记录的是这个文件在这块磁盘上发生了什么:什么时候被复制过来,什么时候最后一次被写入。把照片复制到新硬盘、从手机拷到电脑、从网盘下载、解压 zip,都会把它们重置成当天。

它们说明不了照片是什么时候拍的。

为什么两个日期会不一致

最常见的几种情况:

  • 从手机拷照片到电脑,文件的创建和修改日期变成拷贝那天,拍摄日期不变。
  • 复制到 U 盘、移动硬盘或网盘,同样只动文件日期。
  • 解压 Google Takeout 的 zip,所有文件的修改日期都变成解压那天。

对相机和手机直接拍的照片来说,这没什么大不了,因为拍摄日期还在里面,软件会读它。麻烦在于没有拍摄日期的照片。

Takeout 的照片为什么只剩修改日期

Google Takeout 导出的照片里,相当一部分根本没有拍摄日期:截图、微信保存的图片、扫描件,以及你在 Google 相册里手动改过日期的照片。Google 把它们的真实日期放在旁边的 .json 文件里,而文件资源管理器、访达和相册软件都不读这个文件。

于是软件只能用唯一看得见的日期,也就是文件的修改日期。结果所有这些照片都显示成你解压下载文件的那一天。原因和修复方法详见 Google Takeout 导出的照片日期全不对

各种软件按哪个日期排

在哪里看先读哪个日期
相册软件、手机相册、Immich、NAS 照片应用拍摄日期(EXIF),没有才用文件日期
文件资源管理器、访达的默认排序修改日期或创建日期
文件资源管理器的「拍摄日期」列拍摄日期(EXIF)

所以同一个文件夹,在相册软件里顺序是对的,在文件夹里按修改日期排却是乱的,这很正常。反过来,照片里没有拍摄日期时,相册软件也只能退回用文件日期,顺序就全乱了。

最好的状态:两个日期一致

最稳的做法是把真实的拍摄时间写进照片内部,再把文件的修改日期也改成同一个时间。这样照片自带正确的日期,去哪都不会错;文件夹按日期排序也对。

Takeout JSON Metadata Fixer 一次把真实拍摄时间写进两个地方:照片的 EXIF 和文件的日期。照片带着自己的真实日期,文件夹也能按日期正确排序。支持 Windows、Mac 和 Linux,全部在你的电脑上运行。前 1000 张照片免费。

常见问题

复制照片会改变拍摄日期吗?

不会。复制只改文件的创建和修改日期,拍摄日期在照片内部,跟着文件走。

文件资源管理器里「拍摄日期」是空的,怎么办?

说明照片内部没有 EXIF 拍摄时间。如果是 Takeout 导出的照片,真实日期在对应的 .json 文件里,需要把它写回照片。手机拷过来的照片见手机照片拷到电脑后日期全变成今天

只改修改日期够不够?

不够。修改日期下一次复制就又变了。要改就改拍摄日期,文件日期顺便跟着改。