当前位置: 首页 > news >正文

关于照片时间轴修改的方法根据文件名修改拍摄日期、创建日期等信息根据时间戳文件名修改照片信息

由于时光相册倒闭,从云上下载回来的数据有很多是乱序的、没有时间轴

关于照片时间轴修改的方法

根据文件名修改拍摄日期、创建日期等信息

根据时间戳文件名修改照片信息

其中有几种情况

1.文件名带有照片拍摄日期时间

2.文件名是时间戳(微信图片)

3.文件是png图片,不是jpg图片

方法如下

1.核心是使用exiftool.exe对文件信息进行修改,到官网下载即可,解压缩之后修改文件名位exiftool.exe

2.对照片进行格式化处理,需要带有20231211_121212格式的时间

xiaoguo这一步如果是时间戳格式的,需要使用脚本进行转换python代码如下

import os
import re
import datetime# 将此路径替换为您的目录路径
directory = "D:\Program Files (x86)\修改照片拍摄时间创建时间工具"# 正则表达式匹配10位数字的UNIX时间戳
pattern = re.compile(r'^\d{13}$')
print(pattern)
print(os.listdir(directory))
for filename in os.listdir(directory):# 分离文件名和扩展名name, extension = os.path.splitext(filename)# 检查文件名是否匹配13位数字if pattern.match(name):# 将文件名转换为整数时间戳并转换为秒timestamp = int(name) / 1000# 将时间戳转换为datetime对象date = datetime.datetime.utcfromtimestamp(timestamp)# 将日期格式化为yyyymmmdd格式new_name = date.strftime('%Y%m%d_%H%M%S')# 构建完整的新文件名,保留原有扩展名new_filename = "IMG_" + new_name + extension# 构建完整的旧文件路径和新文件路径old_filepath = os.path.join(directory, filename)new_filepath = os.path.join(directory, new_filename)# 重命名文件os.rename(old_filepath, new_filepath)print(f'Renamed "{filename}" to "{new_filename}"')print("Renaming complete.")

效果如图

如果是png格式的图片,也需要进行修改为jpg

代码如下

from PIL import Image
import os# 将此路径替换为包含PNG图片的目录路径
input_directory = "D:\Program Files (x86)\修改照片拍摄时间创建时间工具\png"
output_directory = "D:\Program Files (x86)\修改照片拍摄时间创建时间工具\jpg"# 确保输出目录存在
if not os.path.exists(output_directory):os.makedirs(output_directory)# 遍历输入目录中的所有文件
for filename in os.listdir(input_directory):if filename.endswith(".png"):# 分离文件名和扩展名name, extension = os.path.splitext(filename)# 打开图片img_path = os.path.join(input_directory, filename)img = Image.open(img_path)# 转换图片rgb_im = img.convert('RGB')# 设置输出的JPG图片路径jpg_path = os.path.join(output_directory, f"{name}.jpg")# 保存转换后的图片rgb_im.save(jpg_path)print(f"Converted {filename} to {name}.jpg")print("Conversion complete.")

运行效果如图

到这里已经差不多就绪了,现在只需要对文件进行时间修改即可,将exiftool.exe工具放到照片的目录下,然后打开powershell窗口 分别运行如下命令即可

这个是修改照片所有时间信息,可能有的创建时间和修改时间会有问题
.\exiftool.exe '-AllDates<filename' *.jpg
所以需要如下两个命令 修改创建时间和修改时间
.\exiftool.exe '-FileCreateDate<filename' *.jpg
.\exiftool.exe '-FileModifyDate<filename' *.jpg

运行效果如图

经供参考

相关文章:

  • linux 13-2day 日志轮转 日志目录 轮转参数
  • 计算机病毒判定专家系统原理与设计《文字提取人工修正》
  • Docker安装与使用
  • vue-loader是如何工作的?
  • 财务机器人(RPA)会影响会计人员从业吗?
  • 《opencv实用探索·十四》VideoCapture播放视频和视像头调用
  • 720度vr虚拟家居展厅提升客户的参观兴致
  • 轻量封装WebGPU渲染系统示例<43>- PBR材质与阴影实(源码)
  • WT588F02B-8S语音芯片助力破壁机:智能声音播放提示IC引领健康生活新潮流
  • 透析跳跃游戏
  • Unity优化——批处理的优势
  • SAP UI5 walkthrough step6 Modules
  • Vue3.3.4中watch无法监测props的更改
  • [ffmpeg] av_opt_set 解析
  • Guava本地环境设置
  • 《用数据讲故事》作者Cole N. Knaflic:消除一切无效的图表
  • 2019年如何成为全栈工程师?
  • axios 和 cookie 的那些事
  • chrome扩展demo1-小时钟
  • echarts的各种常用效果展示
  • Java 23种设计模式 之单例模式 7种实现方式
  • JavaScript 基本功--面试宝典
  • Java编程基础24——递归练习
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • Material Design
  • Mysql优化
  • 翻译:Hystrix - How To Use
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • 怎么将电脑中的声音录制成WAV格式
  • 主流的CSS水平和垂直居中技术大全
  • 追踪解析 FutureTask 源码
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • ​Spring Boot 分片上传文件
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (2)STL算法之元素计数
  • (C)一些题4
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (六)Hibernate的二级缓存
  • (六)激光线扫描-三维重建
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (十一)图像的罗伯特梯度锐化
  • (四)Controller接口控制器详解(三)
  • (图)IntelliTrace Tools 跟踪云端程序
  • (转)Linux下编译安装log4cxx
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • .NET CLR Hosting 简介
  • .NET Core中的去虚
  • .NET轻量级ORM组件Dapper葵花宝典
  • .Net小白的大学四年,内含面经
  • []利用定点式具实现:文件读取,完成不同进制之间的