将照片导入iPhone并保留时刻信息
由于Android对EXIF信息的管理混乱,导致Android转iPhone后在相册看照片时间线一片混乱,特开此篇
🔧准备工具
- ACDSee
- ExifTool
- Advance Renamer
- 爱思助手
修改图片EXIF信息
先用Advance Renamer把残留在文件名的日期写进修改日期里

在ACDSee中把修改日期写进EXIF日期


修改视频metadata信息
将带有YY:MM:DD HH:MM:SS日期信息文件名写入meatdata信息
//更改QuickTime track1 track2 信息
exiftool -overwrite_original -ext mp4 "-track1:TrackCreateDate<filename" "-track1:TrackModifyDate<filename" "-track1:MediaCreateDate<filename" "-track1:MediaModifyDate<filename" "-track2:TrackCreateDate<filename" "-track2:TrackModifyDate<filename" "-track2:MediaCreateDate<filename" "-track2:MediaModifyDate<filename" "-QuickTime:CreateDate<filename" "-QuickTime:ModifyDate<filename" .
//查看mp4 metadata信息
exiftool -s -G1 -a -u -U -l -ext mp4 .
写入时区信息,根据你所在的时区(这里取巧了只是全部时间减去8小时,有好的办法欢迎大家讨论)
//写入当前时区信息
exiftool -AllDates-=8 -overwrite_original -ext mp4 .
途中要是遇到以unix timestamp命名的(fkkkkk wechat),可以用python先转换
//unix timestamp to YY:MM:DD HH:MM:SS
import os
import datetime
directory = r'D:\exifphoto\test'
hz = '.jpg'
files_processed = 0
files_successfully_processed = 0
for filename in os.listdir(directory):
if not filename.endswith(hz):
continue
files_processed += 1
timestamp = filename.split(".")[0]
if not timestamp.isdigit() or len(timestamp) != 13:
continue
timestamp_ms = int(os.path.splitext(filename)[0])
timestamp = datetime.datetime.fromtimestamp(timestamp_ms / 1000.0)
new_filename = timestamp.strftime('%Y-%m-%d %H-%M-%S') + hz
old_path = os.path.join(directory, filename)
new_path = os.path.join(directory, new_filename)
try:
os.rename(old_path, new_path)
files_successfully_processed += 1
except OSError as e:
print(f"Failed to process file: {filename}. Error: {e}")
print(f"Total files processed: {files_processed}")
print(f"Total files successfully processed: {files_successfully_processed}")
wx_camera_或mmexport开头的,先
//文件名包含unix timestamp的,先转成13位unix timestamp
import os
import sys
sys.stdout.reconfigure(encoding='utf-8')
folder_path = r'D:\exifphoto\test' # 文件夹路径
prefixes = ["wx_camera_", "mmexport","idlefish-msg-"] # 需要清除的前缀列表
total_count = 0
success_count = 0
for filename in os.listdir(folder_path):
if filename.startswith(tuple(prefixes)):
new_filename = filename
for prefix in prefixes:
new_filename = new_filename.lstrip(prefix)
old_filepath = os.path.join(folder_path, filename)
new_filepath = os.path.join(folder_path, new_filename)
try:
os.rename(old_filepath, new_filepath)
success_count += 1
except Exception as e:
print(f"无法重命名文件 {filename}: {str(e)}")
total_count += 1
print(f"共处理了 {total_count} 个文件,成功处理了 {success_count} 个文件。")
爱思助手导入

一个一个文件夹的用爱思导入到相册,确认日期无误了再转到其他相册,每导一次一定要另起文件夹储存,否则会在爱思的相册累加的,除非你只有一个文件夹的照片
文件夹过大的,可能经常导入中断


拆成若干小文件夹
浙公网安备 33010602011771号