我将DateTime变量定义为DateTime.Now。我需要将其“转换”为FileTimeUtc。我必须完全误解这个,因为我认为这会有用:
DateTime RunTime;
RunTime = System.DateTime.Now.ToFileTimeUtc();
但是我得到的错误不能隐式地将类型转换为system.datetime。
有任何帮助吗?感谢。
答案 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