如何从时间戳获取日期

用户名

有一个Excel文件,其中包含多张工作表中的数据。在那一列中,时间戳记类似于21/6/12 10:33:07:AM。我的系统日期格式为“ m / d / yyyy”
,将其转换为Date 21/06/2012。能够获取日期,但显示有误。06-12-2021这应该是21-06-2012。我正在使用以下代码。

例如:26/6/12 11:15:07:AM应为26/06/2012
21/6/12 10:33:07:AM应为21/06/2012

Public Sub ConvtDate()
Dim ParseDateTime As Date
Application.ScreenUpdating = False
For Each datcol In ws_Raw2.Range("I2:I65536")  
x = InStr(1, datcol, " ", vbTextCompare) - 1  
If x > 0 Then  
    ParseDateTime = DateValue(Left(datcol, x))  
    datcol.Value = ParseDateTime
End If  
Next  
Application.ScreenUpdating = True  
End Sub  

请帮助如何获取日期。
提前致谢。

克里斯·尼尔森

DateValue期望日期是系统设置的格式的字符串。
从Excel帮助中:

如果date是仅包含由有效日期分隔符分隔的数字的字符串,则DateValue根据为系统指定的“短日期”格式识别月,日和年的顺序。

由于您的数据已输入Day Month Year并且系统已存在,因此Month Day Year您将需要重建传递给的参数DateValue

这是对男女同校的重构,还处理其他一些问题:

  • Dim 所有的变量(用于Option Explicit强制执行此操作)
  • 只处理您需要的行
  • 环的变体阵列而不是一个范围,它

Public Sub ConvtDate()
    Dim ParseDateTime As Date
    Dim i As Long
    Dim x As Long
    Dim a() As String
    Dim dat As Variant
    Dim rng As Range

    Application.ScreenUpdating = False
    Set rng = Range(Cells(2, 9), Cells(Rows.Count, 9).End(xlUp))
    dat = rng.Value
    For i = 1 To UBound(dat, 1)
        x = InStr(1, dat(i, 1), " ", vbTextCompare) - 1
        If x > 0 Then
            a = Split(Left(dat(i, 1), x), "/")
            ParseDateTime = DateValue(a(1) & "/" & a(0) & "/" & a(2))
            ' or if you dont know the system data format use
            ' ParseDateTime = DateSerial(a(2), a(1), a(0))
            dat(i, 1) = ParseDateTime
        End If
    Next
    rng = dat
    Application.ScreenUpdating = True
End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从时间戳获取日期范围?

来自分类Dev

如何从PHP中的日期获取仅时间时间戳

来自分类Dev

如何从值中获取开始日期时间戳和结束日期时间戳

来自分类Dev

如何在Oracle SQL中获取日期列的时间戳?

来自分类Dev

使用日期和时间戳如何获取昨天。今天等

来自分类Dev

如何从js中的时间戳数组匹配和获取日期

来自分类Dev

如何从包含时间戳的日志文件中获取日期值

来自分类Dev

如何快速从时间戳中获取日期格式

来自分类Dev

从unix时间戳获取日期和时间

来自分类Dev

熊猫从日期时间戳获取日期

来自分类Dev

熊猫从日期时间戳获取日期

来自分类Dev

Oracle如何获取今天日期的数据,该日期保存为时间时间戳

来自分类Dev

新时间戳上的分区日期以获取先前的时间戳

来自分类Dev

JS获取与UNIX时间戳或时间戳日期的时差

来自分类Dev

在Android中从时间戳获取日期名称

来自分类Dev

AngularJs从人类可读的日期获取时间戳

来自分类Dev

从时间戳获取月份和日期

来自分类Dev

从时间戳获取日期返回月份

来自分类Dev

从 NSIS 中的时间戳获取日期

来自分类Dev

如何在 Javascript 中获取给定日期、时间和区域的时间戳

来自分类Dev

BigQuery:如何以秒为单位从时间戳中获取日期时间?

来自分类Dev

如何检查两个“日期时间”时间戳之间的“日期时间”时间戳是否

来自分类Dev

如何理解给定的sysdate是日期或时间戳

来自分类Dev

如何提取每个日期时间戳的频率

来自分类Dev

如何仅使用日期过滤时间戳?

来自分类Dev

如何理解给定的sysdate是日期或时间戳

来自分类Dev

通过串联日期和时间列获取时间戳

来自分类Dev

PHP从单独的日期和时间获取时间戳

来自分类Dev

从UTC中的日期和时间获取时间戳

Related 相关文章

  1. 1

    如何从时间戳获取日期范围?

  2. 2

    如何从PHP中的日期获取仅时间时间戳

  3. 3

    如何从值中获取开始日期时间戳和结束日期时间戳

  4. 4

    如何在Oracle SQL中获取日期列的时间戳?

  5. 5

    使用日期和时间戳如何获取昨天。今天等

  6. 6

    如何从js中的时间戳数组匹配和获取日期

  7. 7

    如何从包含时间戳的日志文件中获取日期值

  8. 8

    如何快速从时间戳中获取日期格式

  9. 9

    从unix时间戳获取日期和时间

  10. 10

    熊猫从日期时间戳获取日期

  11. 11

    熊猫从日期时间戳获取日期

  12. 12

    Oracle如何获取今天日期的数据,该日期保存为时间时间戳

  13. 13

    新时间戳上的分区日期以获取先前的时间戳

  14. 14

    JS获取与UNIX时间戳或时间戳日期的时差

  15. 15

    在Android中从时间戳获取日期名称

  16. 16

    AngularJs从人类可读的日期获取时间戳

  17. 17

    从时间戳获取月份和日期

  18. 18

    从时间戳获取日期返回月份

  19. 19

    从 NSIS 中的时间戳获取日期

  20. 20

    如何在 Javascript 中获取给定日期、时间和区域的时间戳

  21. 21

    BigQuery:如何以秒为单位从时间戳中获取日期时间?

  22. 22

    如何检查两个“日期时间”时间戳之间的“日期时间”时间戳是否

  23. 23

    如何理解给定的sysdate是日期或时间戳

  24. 24

    如何提取每个日期时间戳的频率

  25. 25

    如何仅使用日期过滤时间戳?

  26. 26

    如何理解给定的sysdate是日期或时间戳

  27. 27

    通过串联日期和时间列获取时间戳

  28. 28

    PHP从单独的日期和时间获取时间戳

  29. 29

    从UTC中的日期和时间获取时间戳

热门标签

归档