【问题标题】:Why does my date & time look like this? "9132128677"为什么我的日期和时间看起来像这样? “9132128677”
【发布时间】:2012-02-21 16:11:31
【问题描述】:

Excel 单元格中的数据如下所示:

5/17/05 19:23:14

然后我使用了这段代码:

Dim strString As String
Dim strDate As String
Dim strTime As String

strString = Sheet5.Range("A" & x)   'Where Range(A,x) contain the time stamp mentioned above

Locals 窗口中的结果是这样的:

strString = "9132128677"

为什么会这样?

如何让 strDate 等于 5/17/05,strTime 等于 19:23:14?

我的想法是这样做:

Sub SplitValue(strString As String, strDate As String, strTime As String)

    Dim varSplit As Variant

    varSplit = Split(strString, " ")

    strDate = varSplit(0)
    strTime = varSplit(1)

End Sub

但首先我需要了解为什么日期和时间显示为“9132128677”。谁能解释一下?

【问题讨论】:

  • 我根本无法重现,数字形式的excel日期是浮点数,单元格是什么具体格式,是公式结果吗? - .Text 将为您提供显示的内容,但可能会因不同的日期格式而中断
  • Alex K. 我认为您正在做某事。我无法使用 CDate 将该 strString 分配给日期。我如何找出它的格式?它不是公式的结果,而是使用 AbleToExtract 从 Adob​​e 文件生成的,AbleToExtract 是一个将 PDF 数据转换为 Excel 格式的程序。
  • 啊....我可以通过这种方式正确格式化它。如何让您的评论成为我问题的答案?

标签: string vba


【解决方案1】:

您可以右键单击 -> 格式化单元格以设置显式格式,或使用.Text 获取显示的值。

【讨论】:

    【解决方案2】:

    看起来像一个时间戳,它是自预定日期(通常是 1970 年 1 月 1 日)以来经过的秒数。

    【讨论】:

    • 如果9132128677 是自 1970 年以来的秒数,则表示 2259 年的时间。如果表示当前时间,则表示 1722 年的某个时间。
    【解决方案3】:

    http://www.vb6.us/tutorials/formating-dates-and-times-vb6

    格式$(现在,“mm/dd/yyyy h:mm:ss”)

    【讨论】:

    • 我不知道为什么有人 -1'ed 这个评论。实际上,我发现本教程有些帮助。
    • 他们不喜欢我的回答。亚历克斯 K 的回答和我的一样都有效 :)
    • 我没有投反对票,但通常不喜欢只是链接到其他网站的答案。如果该站点已关闭或无法访问,会发生什么情况?如果您引用了文章中您认为有帮助的部分,您将获得更多的支持。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-21
    • 1970-01-01
    • 2019-04-30
    • 2011-04-29
    • 2016-04-07
    • 1970-01-01
    相关资源
    最近更新 更多