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

时间:2013-03-21 05:10:19

标签: excel vba date format

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

我在另一个Stack Overflow问题上找到了这个Hour(Format(d1, "mm/dd/yyyy HH:mm:ss HH24")),但不适合我。

5 个答案:

答案 0 :(得分:10)

这应该有效

= TEXT(D1," hh")

并格式化为时间

答案 1 :(得分:3)

如果D1包含日期/时间Date Time Serial Number或字符串可识别为date time,请使用=Hour(D1)

例如D1 =字符串21/03/2013 18:45:00 =Hour(D1) = 18

例如D1 = 41354.781250然后=Hour(D1) = 18
注意:D1可能包含值,但可以格式化为显示为日期/时间。检查单元格编号格式。

要在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

中查看结果

答案 2 :(得分:2)

尝试:

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

答案 3 :(得分:1)

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

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

输入公式后,您可以右键单击“格式化单元格”并选择要查看的时间格式。我在Excel 2013中验证了这个公式。

答案 4 :(得分:0)

试试这个http://www.vb6.us/tutorials/date-time-functions-visual-basic 它确实在vba中起作用

如果您想要现在的日期和时间

,请使用Now