如何将十进制时间格式转换为常规标准datetime时间格式
十进制时间字符串转datetime格式方法
格式说明
待转换的20170509.54166667分为两部分:
- 小数点左侧:
20170509为YYYYMMDD格式的日期数值 - 小数点右侧:
0.54166667为当天已过时长占全天24小时的比例
转换方法
Python实现
from datetime import datetime, timedelta # 待转换的时间字符串 time_str = "20170509.54166667" # 拆分日期部分和小数占比部分 date_part, frac_part = time_str.split('.') # 转换日期部分为datetime对象 base_dt = datetime.strptime(date_part, "%Y%m%d") # 计算小数部分对应的秒数,叠加到基础日期上 offset_seconds = float(f"0.{frac_part}") * 86400 final_dt = base_dt + timedelta(seconds=offset_seconds) print(final_dt) # 输出结果:2017-05-09 13:00:00
Excel实现
假设待转换值存储在A1单元格:
- 任意空白单元格输入转换公式:
=TEXT(INT(A1),"0000-00-00")+MOD(A1,1) - 右键点击结果单元格,选择「设置单元格格式」,自定义格式设置为
yyyy-mm-dd hh:mm:ss即可得到标准时间格式。
内容的提问来源于stack exchange,提问作者S.Kociok
相关产品推荐
相关产品推荐

