C#如何将时间戳转成Datetime
时间: 2024-02-13 11:07:28 浏览: 25
在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#如何将datetime转换成时间戳
在C#中将DateTime转换为时间戳,可以使用以下代码实现:
```csharp
DateTime dt = DateTime.Now;
long timeStamp = (long)(dt - new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalSeconds;
```
其中,`dt`是要转换的DateTime对象,`timeStamp`是转换后的时间戳。代码中的1970年1月1日是Unix时间戳的起始时间,将`dt`减去起始时间并计算总秒数即可得到时间戳。需要注意的是,由于时间戳是以秒为单位的,因此需要将计算结果转换为long类型。
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();
}
```