如何从date时间格式中提取小时数12/10/2012 12:18:58 PM?

如何从date时间格式中提取小时数12/10/2012 12:18:58 PM

我在另一个堆栈溢出问题上find了这个Hour(Format(d1, "mm/dd/yyyy HH:mm:ss HH24")) ,但是并不适用于我。

这应该工作

=文字(D1,“hh”)

并按时间格式化

如果D1包含date/时间作为Date Time Serial Number或作为可识别的date time的string,则使用=Hour(D1)

例如D1 =string21/03/2013 18:45:00 =Hour(D1) = 18

例如D1 = 41354.781250=Hour(D1) = 18
注意: D1可能包含一个值,但可以格式化为date/时间。 检查单元格号码格式。

要在VBA中这样做,请试试这个

 Sub demo() Dim rng As Range Dim Hr As Long Set rng = Range("D1") Hr = Hour(rng.Value) Debug.Print Hr End Sub 

Immediate Window查看结果

试试:

 Hour(format(now(), "yyyy-MM-dd hh:mm:ss")) 

如果“12/10/2012 12:18:58 PM”在单元格A1:

 =TIME(HOUR(a1),MINUTE(a1),SECOND(a1)) 

input公式后,您可以右键单击“格式单元格”并select您想要查看的时间格式。 我已经在Excel 2013中validation了这个公式。

试试这个http://www.vb6.us/tutorials/date-time-functions-visual-basic它确实工作在VBA

或者只是Now如果你想要的date和时间使用现在