DateTime转换为FileTimeUtc

时间:2012-06-04 16:17:00

标签: c# datetime

我将DateTime变量定义为DateTime.Now。我需要将其“转换”为FileTimeUtc。我必须完全误解这个,因为我认为这会有用:

DateTime RunTime;
RunTime = System.DateTime.Now.ToFileTimeUtc();

但是我得到的错误不能隐式地将类型转换为system.datetime。

有任何帮助吗?感谢。

2 个答案:

答案 0 :(得分:5)

DateTime.ToFileTimeUtc返回一个长号,而不是DateTime。来自文档:

  

Windows文件时间是一个64位值,表示自公元1601年1月1日午夜12点(美国东部标准时间)协调世界时(UTC)以来经过的100纳秒间隔的数量。 Windows使用文件时间来记录应用程序何时创建,访问或写入文件。

这应该是:

long runTime;
runTime = System.DateTime.Now.ToFileTimeUtc();

如果您只想要当前的协调世界时,而不是 Windows文件时间,您可以使用:

DateTime runTime = System.DateTime.UtcNow;

有关详细信息,请参阅UtcNow

答案 1 :(得分:0)

ToFileTimeUtc()返回一个长整数,表示自公元1601年1月1日午夜12点(格林威治标准时间)协调世界时(UTC)以来经过的100纳秒间隔数。

http://msdn.microsoft.com/en-us/library/system.datetime.tofiletimeutc.aspx

.net框架不支持隐式转换长日期时间。

如果您想使用UTC作为ToUniversalTime()的日期 或者现在以UTC使用UtcNow

http://msdn.microsoft.com/en-us/library/system.datetime.touniversaltime%28v=vs.100%29.aspx

相关问题