如何将hmm格式的时间转换为十进制数值?
将长整型“hmm”格式时间转换为十进制数值的方法
因为你的时间数据是长整型,没法直接用字符串截取函数处理,用数学运算拆分时分是最靠谱的方案,步骤如下:
拆分小时和分钟
- 提取分钟:用数值对100取余,比如
828 % 100 = 28,945 % 100 = 45 - 提取小时:用数值整除100,比如
828 // 100 = 8,1000 // 100 = 10
- 提取分钟:用数值对100取余,比如
计算分钟对应的十进制小数
把分钟数除以60,得到对应的小数部分:- 28分钟 →
28/60 ≈ 0.47 - 45分钟 →
45/60 = 0.75
- 28分钟 →
结合时段调整最终值
- 如果是AM时段:直接用「提取的小时 + 分钟小数」,比如
500 AM→5 + 0/60 = 5 - 如果是PM时段:在「提取的小时 + 分钟小数」基础上加12,比如
828 PM→(8 + 28/60) + 12 ≈ 20.47,1000 PM→10 + 12 = 22
- 如果是AM时段:直接用「提取的小时 + 分钟小数」,比如
用这个逻辑套所有示例都能得到正确结果,完全不需要依赖字符串处理函数,适配长整型数据的特性。
内容的提问来源于stack exchange,提问作者Ryan
相关产品推荐
相关产品推荐

