我觉得手头有一个相当简单的问题,但我对此感到非常困惑。到目前为止,我对日期非常熟悉并将它们转换为'Long'整数。但是,除了“交付日期”之外,我还必须在此特定实例中添加时间值以反映“交付时间”的情况。我知道excel-vba分别提供日期和时间的功能。我想知道如何将日期和日期反映出来,例如2015年6月10日,晚上7点或1900小时(请原谅我的非美国格式)为一个我可以使用的整数。像是这样的东西,例如:
dim y as date
y = "10/06/2015"
dbldate = Clng(y)
但是额外的时间是晚上7点。很抱歉我的帖子相当冗长!
答案 0 :(得分:1)
Dim dt as Date
Dim dbl as Double
'Add 19 hours to the date for 7pm
dt = DateAdd("h", 19, y)
'Convert it to a double to hold date (integer) and time (decimal) components
dbl = CDbl(dt)
'dbl will = 42165.7916666667
答案 1 :(得分:1)
对于工作表和VBA, time 只是浮点值的小数部分。所以:
Sub dural()
Dim db As Double, dt As Date
db = 12345.67
dt = CDate(db)
MsgBox dt
End Sub
产地:
修改#1:强>
并将日期/时间转换为字符串为浮点值:
Sub Backwards()
Dim st As String, db As Double
st = "12/25/2014 7:00PM"
db = DateValue(st) + TimeValue(st)
MsgBox db
End Sub