excel - 具有不同系统设置的正确格式的当前 UTC 时间
问题描述
我在 Excel 中有一个宏,它使用当前的 UTC 时间(小时和分钟)作为字符串,最后将(除其他外)作为文本写入新的 Word 文档中。目前它在我的计算机上运行良好,但它也可以在不同的计算机上使用,这些计算机可能对日期时间格式有不同的系统设置。由于这些设置都无法更改,我也无法全面了解所有不同的设置,因此我需要在宏中添加一个部分,最终始终为我提供相同的格式。我需要实现的格式是 HHMM(在 24 小时内,而不是 AM/PM),例如:1430。如果系统时间是这种格式,我现在的代码会这样做:“DD/MM/YYYY HH:MM: SS”。不幸的是,它没有考虑其他诸如“DD/MM/YYYY H:MM”之类的问题。有没有简单的方法来解决这个问题?我现在拥有的代码如下。
Public Sub UTCtime()
Dim dt As Object, utc As Date, utcHOUR As String
Set dt = CreateObject("WbemScripting.SWbemDateTime")
dt.SetVarDate Now
utc = dt.GetVarDate(False)
utcHOUR = utc
utcHOUR = Replace(utcHOUR, ":", "")
utcHOUR = Replace(utcHOUR, " ", "")
utcHOUR = Right(utcHOUR, 6)
utcHOUR = Left(utcHOUR, 4)
utcHOUR = utcHOUR + "Z"
End Sub
解决方案
dt.GetVarDate()
返回一个Date
调整为 UTC 的类型,这是与格式无关的(直到被强制转换为字符串),所以很简单:
strUTCTime = Format$(utc, "HHMM") & "Z"
推荐阅读
- javascript - 在javascript中将数组/对象的值作为字符串获取
- docker - 在 Kubernetes 中使用 UDP 广播进行 pod/peers 发现
- javascript - 为添加两个数字生成的自动脚本无法正常工作
- java - 调用另一个方法android java后的字符串值null
- php - 该代码在某些方面不起作用。ajax和php代码中的问题
- laravel - Laravel Carbon 允许 Postgresql 时间戳的尾随数据
- java - 从 cloudinary 上传图像时,如何返回 cloudinary 的响应?
- javascript - 如何在java脚本中打印有限的数值?
- javascript - 用另一个字符替换某个字符
- pandas - 如何从具有特定键的json数据框中提取值