代码之家  ›  专栏  ›  技术社区  ›  geoffc

寻找好的文件时间转换器

  •  2
  • geoffc  · 技术社区  · 16 年前

    在问题中 Looking for Good CTIME/Unixtime converter 我要求一个好的基于网络的CTIME(1970年1月1日起的秒数)时间转换器。(通常是32位有符号整数)。

    我需要一个工具,我可以输入一个日期,并得到CTIMe等效。我找到了一个,一旦我意识到unixtime是格式的另一个名称。我一到那里,谷歌就是我的朋友。

    现在,一个filetime转换器怎么样,它更常用于64位有符号整数,自1601年1月1日起表示100纳秒单位。(Active Directory内部用于时间存储的内容)。

    可能有更好的关键字可以搜索,我会找到它。我有一个工具可以在filetime中显示当前的时间,我可以在其他地方手工进行计算,但不完全符合我从易用性方法所看到的。

    我有一个函数可以在代码中使用它,但它不是一个包装器,可以方便地以快速格式使用。Java的时间格式化程序支持它,但我又在寻找一个非常好的包装版本。

    2 回复  |  直到 14 年前
        1
  •  11
  •   Shay Erlichmen    16 年前

    This tool will convert 所有时间都在线输入。

        2
  •  1
  •   Chris    14 年前

    在Windows中,基准时间是1/1/1601。文件时间也以100纳秒为测量单位进行记录。使用vba这两种方法都可以在几秒钟内完成。

    (4是您当前的UTC时差)EST通常是-5,但由于我们的政府不能团结起来,标准化DST切换或完全摆脱DST,您必须将其更改为时区。

    600000000正在将100纳秒转换为分钟,以避免溢出。

    另外,要认识到这是vba,所以以符号格式传递双精度值。

    Public Function ConvertFileTime(ByVal d As Double) As Date
        ConvertFileTime = DateAdd("n", (d / 600000000) + (60 * -4), #1/1/1601#)
    End Function
    

    例子:

    转换文件时间(1.2944684916706E+17)

    应于2011年3月15日下午1:48返回。

    推荐文章