【问题标题】:How to extract Hours from the date time format 12/10/2012 12:18:58 PM? [closed]如何从日期时间格式 12/10/2012 12:18:58 PM 中提取小时? [关闭]
【发布时间】:2013-03-10 12:24:51
【问题描述】:

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

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

【问题讨论】:

  • 虽然你有一些可靠的答案,但你的问题写得不是很好。 “不起作用”什么也没告诉我们。请考虑准确解释什么不起作用。此外,如果您引用另一个 Stack Overflow 问题,提供该问题的链接很有用,这样我们就可以看到提供其他答案的上下文。

标签: excel vba date format


【解决方案1】:

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

如果您想知道现在的日期和时间,请使用Now

【讨论】:

    【解决方案2】:

    尝试:

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

    【讨论】:

      【解决方案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查看结果

      【讨论】:

        【解决方案4】:

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

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

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

        【讨论】:

          【解决方案5】:

          这应该可以工作

          =TEXT(D1, "hh")

          格式为时间

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-02-11
            • 1970-01-01
            • 2013-06-10
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多