Excel 当前UTC时间格式正确,系统设置不同

Excel 当前UTC时间格式正确,系统设置不同,excel,vba,Excel,Vba,我在Excel中有一个宏,它使用当前UTC时间(小时和分钟)作为字符串,最后将作为文本写入新Word文档中。 目前,它在我的计算机上运行良好,但也将在不同的计算机上使用,这些计算机可能具有不同的datetime格式系统设置。由于这些设置都无法更改,也无法查看所有不同设置的完整视图,因此我需要宏中的一个部分,该部分在结束时始终为我提供相同的格式。 我需要实现的格式是HHMM(在24小时内,而不是上午/下午),例如:1430。 如果系统时间的格式是:“DD/MM/YYYY HH:MM:SS”,那么我

我在Excel中有一个宏,它使用当前UTC时间(小时和分钟)作为字符串,最后将作为文本写入新Word文档中。 目前,它在我的计算机上运行良好,但也将在不同的计算机上使用,这些计算机可能具有不同的datetime格式系统设置。由于这些设置都无法更改,也无法查看所有不同设置的完整视图,因此我需要宏中的一个部分,该部分在结束时始终为我提供相同的格式。 我需要实现的格式是HHMM(在24小时内,而不是上午/下午),例如:1430。 如果系统时间的格式是:“DD/MM/YYYY HH:MM:SS”,那么我现在的代码就是这样做的。不幸的是,它没有考虑其他因素,例如“DD/MM/YYYY H:MM”。 有没有简单的方法来解决这个问题? 我现在拥有的代码如下。我在网上找到了这段代码,但我在VBA方面还不够好,无法理解它的第一部分,也无法使它适应我的需要

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()
返回调整为UTC的
Date
类型,这是格式不可知的(直到强制转换为字符串),因此:

strUTCTime = Format$(utc, "HHMM") & "Z"

完美的非常感谢你,这正是我需要的!