C#如何将时间戳转成Datetime
时间: 2024-02-13 09:07:28 浏览: 264
在C#中,可以使用`DateTimeOffset.FromUnixTimeSeconds(long seconds)`或者`DateTimeOffset.FromUnixTimeMilliseconds(long milliseconds)`方法将时间戳转换为`DateTimeOffset`对象,然后可以通过`DateTimeOffset.DateTime`属性获取对应的`DateTime`对象。
例如,将时间戳转换为以秒为单位的`DateTime`对象:
```csharp
long timestamp = 1609459200; // 时间戳,单位为秒
DateTimeOffset dateTimeOffset = DateTimeOffset.FromUnixTimeSeconds(timestamp);
DateTime dateTime = dateTimeOffset.DateTime;
```
其中,`1609459200`是一个时间戳,表示的是2021年1月1日0时0分0秒的时间戳,可以根据需要替换成其他的时间戳。
相关问题
C#将时间戳转成日期
### 将时间戳转换为日期
在 C# 中,可以通过 `DateTime` 类来处理时间戳并将其转换为可读的日期格式。具体来说,可以利用 `DateTimeOffset` 或者简单的 `DateTime` 结构来进行此操作。
对于 Unix 时间戳(即自 1970 年 1 月 1 日 UTC 至今所经过的秒数),可以直接通过加法运算加上基础日期得到对应的 `DateTime` 对象:
```csharp
long unixTimestamp = 1607384853L;
var dateTime = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).AddSeconds(unixTimestamp);
Console.WriteLine(dateTime); // 输出:2020-12-08T03:47:33Z
```
如果遇到的是 .NET 的 ticks 形式的时间戳,则应按照每 tick 表示 100 纳秒的原则进行计算[^3]:
```csharp
long netTicks = 638034556530000000L;
var dotNetDate = new DateTime(netTicks, DateTimeKind.Utc);
Console.WriteLine(dotNetDate); // 输出:2022-11-07T14:07:33Z
```
上述两种方式分别适用于不同类型的输入数据源,在实际应用中可根据具体情况选用合适的方式完成从时间戳到日期对象的转换过程。
C#获取时间戳datetime
以下是三种C#获取时间戳的方法:
1.方法一:
```csharp
public long GetTimeStamp() {
TimeSpan ts = DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0, 0);
return Convert.ToInt64(ts.TotalSeconds);
}
```
2.方法二:
```csharp
public static long GetTimeStamp() {
TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
return Convert.ToInt64(ts.TotalSeconds);
}
```
3.方法三:
```csharp
public static long GetTimeStamp() {
return new DateTimeOffset(DateTime.UtcNow).ToUnixTimeSeconds();
}
```
阅读全文
相关推荐















