C#时间戳转yyyy-MM-dd hh:mm:ss 有几种方式可以达成
时间: 2024-10-26 15:02:30 浏览: 41
在C#中将时间戳转换为"yyyy-MM-dd HH:mm:ss"格式,可以采用以下几种方式:
1. **直接使用DateTime结构**:
```csharp
long timestamp = ...; // 时间戳值
DateTime dateTime = DateTime.FromFileTime(timestamp);
string formattedDateTime = dateTime.ToString("yyyy-MM-dd HH:mm:ss");
```
2. **使用`DateTimeOffset`结构处理跨时区的时间**:
```csharp
long timestamp = ...;
DateTimeOffset datetimeOffset = DateTimeOffset.FromUnixTimeSeconds(timestamp);
string formattedDateTime = datetimeOffset.LocalDateTime.ToString("yyyy-MM-dd HH:mm:ss");
```
这里假设时间戳是以秒为单位的Unix时间戳。
3. **自定义 LINQ 表达式**:
如果使用LINQ,可以这样做:
```csharp
long timestamp = ...;
var dateTime = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)
.AddSeconds(timestamp).ToLocalTime();
string formattedDateTime = dateTime.ToString("yyyy-MM-dd HH:mm:ss");
```
这同样假设时间戳是以秒为单位的Unix时间戳,并将其转换为本地时间。
阅读全文