📅  最后修改于: 2023-12-03 15:30:18.649000             🧑  作者: Mango
在C#中,我们可以使用DateTimeOffset.FromUnixTimeSeconds()
方法将Unix时间戳转换为DateTimeOffset
对象。Unix时间戳是指从UTC时间1970年1月1日0时0分0秒开始到某个时间点的秒数。
以下是DateTimeOffset.FromUnixTimeSeconds()
方法的签名:
public static DateTimeOffset FromUnixTimeSeconds(long seconds)
参数seconds
是一个长整型数,表示Unix时间戳。
以下是一个使用DateTimeOffset.FromUnixTimeSeconds()
方法的示例:
long unixTimestamp = 1626971533;
DateTimeOffset dateTimeOffset = DateTimeOffset.FromUnixTimeSeconds(unixTimestamp);
Console.WriteLine(dateTimeOffset.ToString("yyyy-MM-dd HH:mm:ss zzz"));
上述示例将Unix时间戳1626971533
转换为DateTimeOffset
对象后,输出结果为2021-07-22 13:25:33 +00:00
。
请注意,Unix时间戳通常是指UTC时间,而不是本地时间。因此,在将Unix时间戳转换为本地时间时,需要将其与本地时间的偏移量相加。可以使用以下代码将DateTimeOffset
转换为本地时间:
DateTime localTime = dateTimeOffset.ToLocalTime().DateTime;
此外,DateTimeOffset.FromUnixTimeSeconds()
方法只能处理整型Unix时间戳,如果您需要处理浮点型Unix时间戳,则需要将其转换为长整型后再进行处理。