Excel时间转换为时间戳的简单方法

赛博小灵通

Scheduling Tools
Time
time convert
2025-09-17
Excel时间转换为时间戳的简单方法

怎么把excel里的时间变成时间戳

Excel中的时间可以轻松转换为时间戳格式。时间戳是从1970年1月1日开始的秒数或毫秒数,常用于编程和数据库存储。

基础公式法
最常用的转换公式是:
=(A1-DATE(1970,1,1))*86400
这个公式会计算Excel时间与1970年1月1日的差值,再乘以每天的秒数86400。

时区调整
中国用户需要额外加上8小时时区差:
=(A1-DATE(1970,1,1)+TIME(8,0,0))*86400
确保结果单元格格式设置为"常规"而非时间格式。

毫秒级时间戳
需要13位时间戳时,将公式中的86400改为86400000:
=(A1-DATE(1970,1,1))*86400000

批量处理技巧

  1. 选中公式单元格,拖动填充柄批量转换
  2. 按Ctrl+C复制公式,选择目标区域后按Ctrl+V粘贴
  3. 使用选择性粘贴→数值固定转换结果

VBA宏方法
按Alt+F11打开VBA编辑器,插入以下代码:

Function ToTimestamp(rng As Range) As Long
    ToTimestamp = (rng.Value2 - DateSerial(1970, 1, 1)) * 86400
End Function

在单元格中调用=ToTimestamp(A1)即可转换。

常见问题解决

  • 结果显示为日期:右键单元格→设置格式→常规
  • 负数结果:检查日期是否早于1970年1月1日
  • 误差超过8小时:确认是否已包含时区调整

高级应用

  1. 混合格式处理:先用=TEXT(A1,"yyyy/mm/dd hh:mm")统一格式
  2. 文本转时间:=DATEVALUE(LEFT(A1,10))+TIMEVALUE(MID(A1,12,8))
  3. 自动更新:结合NOW()函数获取实时时间戳

验证方法
将得到的时间戳输入在线转换工具,检查是否与原始Excel时间一致。注意在线工具通常使用UTC时间,需考虑时区差异。

Python替代方案
安装pandas库后运行:

import pandas as pd
df = pd.read_excel('file.xlsx')
df['timestamp'] = df['datetime列'].astype('int64')//10**9

这种方法适合处理超过Excel行数限制的大数据集。