【问题标题】:What type of date format is this?这是什么类型的日期格式?
【发布时间】:2016-04-28 20:10:13
【问题描述】:

我有一个类似 this2015-12-18 11:14:20.72+05:30 的值,我想将其转换为 yyyy/dd/mm 格式。我想知道我上面提到的日期是什么格式。

谢谢

【问题讨论】:

  • 看起来像ISO 8601
  • 我无法使用 Format(value,"mm/dd/yyyy") 对其进行格式化。你知道如何格式化吗?
  • 不知道您使用的是哪种语言/库。爪哇?
  • 那么不,我不知道。你用谷歌搜索过“vba iso 8601”吗?

标签: vba date format date-formatting


【解决方案1】:

这似乎是一个 ISO 日期,其中包含的信息超出了 VBA 旨在处理的范围。例如,最后它似乎与生成它的配置的 GMT 不同。 VBA 并非设计用于处理毫秒或 GMT 信息 - 编程语言已经有十多年没有更新了,除了 Office 应用程序中的新对象。

如果你切断 .72+05:30 VBA 可以使用其余的信息。例如:

year = DatePart("yyyy", "2015-12-18 11:14:20") 'returns 2015
hour = DatePart("h",  "2015-12-18 11:14:20") 'returns 11

您可以使用字符串操作来修剪结尾,例如:

sDateInfo = "2015-12-18 11:14:20.72+05:30"
sDateTrimmed = Left(sDateInfo, Instr(sDateInfo, ".")-1)
sDateFormatted = Format(sDateTrimmed, "yyyy/dd/mm")

【讨论】:

    【解决方案2】:

    VBA 似乎无法直接转换此时间戳。我所做的只是获取前 10 个字符,然后将其转换为日期。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-19
      • 2021-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-15
      • 1970-01-01
      相关资源
      最近更新 更多