如何从日期时间格式 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 中提取小时? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章