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

Posted

技术标签:

【中文标题】如何从日期时间格式 12/10/2012 12:18:58 PM 中提取小时? [关闭]【英文标题】:How to extract Hours from the date time format 12/10/2012 12:18:58 PM? [closed] 【发布时间】: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 问题,提供该问题的链接很有用,这样我们就可以看到提供其他答案的上下文。 【参考方案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")

格式为时间

【讨论】:

以上是关于如何从日期时间格式 12/10/2012 12:18:58 PM 中提取小时? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何从数组更改日期格式

如何从解析的 d3.js 日期创建新的日期格式

如何将日期/时间从 24 小时格式转换为 12 小时 AM/PM? [复制]

如何从swift中的时间戳获取日期格式

如何从日期选择器设置语言环境格式?

如何从日期时间中删除时间