如何用正则表达式将美式12小时制日期时间转为英式24小时制?
在Notepad++中完成12小时制到24小时制的时间转换
针对你已完成日期转换的.dat文件,以下是用Notepad++正则替换完成12小时制(HH:MM AM/PM)到24小时制(hh:mm)的具体步骤:
一、处理上午(AM)时间
1. 转换12:xx AM为00:xx
- 查找(Find):
12:([0-9]{2}) AM - 替换(Replace):
00:\1
2. 为个位数小时补零(如9:00 AM → 09:00)
- 查找(Find):
([1-9]):([0-9]{2}) AM - 替换(Replace):
0\1:\2
注:查找内容开头的空格是为了避免误匹配日期或其他位置的数字,确保只匹配时间部分。
二、处理下午(PM)时间
1. 保留12:xx PM为12:xx
- 查找(Find):
12:([0-9]{2}) PM - 替换(Replace):
12:\1
2. 转换1-9 PM为对应24小时制时间
依次执行以下替换(每个替换完成后点击「全部替换」):
- 1 PM → 13:xx:查找
1:([0-9]{2}) PM,替换13:\1 - 2 PM → 14:xx:查找
2:([0-9]{2}) PM,替换14:\1 - 3 PM → 15:xx:查找
3:([0-9]{2}) PM,替换15:\1 - 4 PM → 16:xx:查找
4:([0-9]{2}) PM,替换16:\1 - 5 PM → 17:xx:查找
5:([0-9]{2}) PM,替换17:\1 - 6 PM → 18:xx:查找
6:([0-9]{2}) PM,替换18:\1 - 7 PM → 19:xx:查找
7:([0-9]{2}) PM,替换19:\1 - 8 PM → 20:xx:查找
8:([0-9]{2}) PM,替换20:\1 - 9 PM → 21:xx:查找
9:([0-9]{2}) PM,替换21:\1
3. 转换10-11 PM为对应24小时制时间
- 10 PM → 22:xx:查找
10:([0-9]{2}) PM,替换22:\1 - 11 PM → 23:xx:查找
11:([0-9]{2}) PM,替换23:\1
注意事项
- 执行所有替换前,请确保Notepad++的「替换」对话框中已勾选正则表达式选项,且未勾选「. matches newline」。
- 建议先备份原始.dat文件,避免操作失误导致数据丢失。
内容的提问来源于stack exchange,提问作者a92inv
相关产品推荐
相关产品推荐

