📅  最后修改于: 2023-12-03 15:00:16.657000             🧑  作者: Mango
C#中的DateTimeOffset.ToFileTime()方法是将DateTimeOffset实例转换为表示自 1601 年 1 月 1 日午夜以来的100纳秒间隔数的文件时间。该方法返回一个long类型的值。
下面是DateTimeOffset.ToFileTime()方法的语法:
public long ToFileTime();
下面是一个简单的示例代码,演示如何使用DateTimeOffset.ToFileTime()方法来转换时间戳为文件时间:
using System;
class Program
{
static void Main(string[] args)
{
DateTime dateTime = new DateTime(2021, 10, 31, 12, 0, 0);
DateTimeOffset dateTimeOffset = new DateTimeOffset(dateTime, TimeSpan.Zero);
long fileTime = dateTimeOffset.ToFileTime();
Console.WriteLine($"DateTimeOffset: {dateTimeOffset}");
Console.WriteLine($"File time: {fileTime}");
}
}
执行上面的代码,将得到如下输出:
DateTimeOffset: 10/31/2021 12:00:00 PM +00:00
File time: 132634080000000000
long fileTime = 132634080000000000;
DateTime dateTime = DateTime.FromFileTime(fileTime);
DateTime dateTimeUtc = DateTime.FromFileTimeUtc(fileTime);
Console.WriteLine($"Local time: {dateTime}");
Console.WriteLine($"UTC time: {dateTimeUtc}");
在处理日期和时间的应用程序中,C#中的DateTimeOffset.ToFileTime()方法是很有用的,它可以将DateTimeOffset实例转换为文件时间,方便在其他系统中进行时间操作。需要注意的是,文件时间是以自 1601 年 1 月 1 日午夜 (00:00:00 UTC) 起算的100纳秒时间间隔数,必要时需要进行转换。