Now.ToFileTime()在不同的调用中返回相同的时间

时间:2012-08-20 22:16:12

标签: vb.net datetime timestamp

我有一个程序,它使用.NET中的Now.ToFileTime()函数来获取文件名的时间戳。我已经验证这个代码只在1个线程上调用,所以我不担心并发性。

我的方法中有以下测试代码:

Dim Time As String = Now.ToFileTime()
IO.File.AppendAllText("D:\test.txt", Time & " - " & System.Threading.Thread.CurrentThread.ManagedThreadId().ToString() & vbCrLf)

这最终输出以下内容到test.txt:

129899740120622239 - 4
129899740140465735 - 4
129899740140465735 - 4
129899740140465735 - 4
129899740140465735 - 4
129899740160465479 - 4
129899740160465479 - 4
129899740160621727 - 4
129899740160621727 - 4

所以你可以看到时间标记重复2次或更多次。偶尔我会得到一个独特的,但不是经常。每次打电话给这种方法时,我不应该得到独特的时间。所有人至少相隔几毫米。我不是只是按顺序调用它(但即便如此,我希望会有不同的时间)。

2 个答案:

答案 0 :(得分:1)

设置全局变量并确保在使用之前已更改。

答案 1 :(得分:0)

谢谢大家,

鉴于蒂姆指出系统时间的解决;我将一个私有静态变量作为索引来确保单一性。