我有一个VBA用户表单,当我在输入数据后按Save(保存)时,它会写入电子表格并将我的时间和日期设置为Now(),并将其写入电子表格,然后将now()值分为时间和日期,当我读回日期和日期时,我会得到日期,但是我的时间是十进制格式,我想将十进制数字转换回时间。谢谢的公式是什么?我的十进制数字有点像“ 0.12425576899”,所以到目前为止,我发现了它,但是将其转换为“ 00:double:00的分钟数”,这里是代码
Public Function FromDecimalTime(ByVal t As Double) As Date
FromDecimalTime = TimeSerial(0, Fix(t), (t - Fix(t)) * 60)
End Function
答案 0 :(得分:1)
以下内容将Double
转换为Date
格式。为了只显示日期格式的时间部分,请使用Format
函数:
Sub trythis()
Dim t As Double
t = Now()
Debug.Print CDate(t)
Debug.Print Format(t, "hh:mm:ss")
End Sub