C# 在两个textbox中进行时间与时间戳互转的方法
时间: 2024-10-29 21:15:32 浏览: 22
在C#中,时间(Time)和时间戳(Unix Timestamp 或 DateTimeOffset)之间的转换是非常常见的操作。这里简要介绍如何进行转换:
1. **时间到时间戳(将DateTime转换为Unix Timestamp)**:
- 使用`DateTimeOffset.UtcNow.ToUnixTimeSeconds()`方法获取当前时间的Unix时间戳(秒级别)。如果你只需要毫秒精度,可以使用`ToUnixTimeMilliseconds()`。
```csharp
DateTime myTime = DateTime.Now;
long timestampInMilliseconds = myTime.ToUniversalTime().Ticks / TimeSpan.TicksPerMillisecond;
```
2. **时间戳到时间(将Unix Timestamp转换为DateTime)**:
- 可以先将Unix时间戳乘以`TimeSpan.TicksPerSecond`转换为ticks值,然后用`new DateTimeOffset()`构造函数创建DateTimeOffset实例。
```csharp
long timestampInSeconds = ...; // 获取的Unix时间戳(秒)
DateTimeOffset convertedTime = new DateTimeOffset(timestampInSeconds * TimeSpan.TicksPerSecond);
DateTime dateTime = convertedTime.LocalDateTime; // 如果只关心本地时间部分
```
阅读全文