c# 获取当前时间戳
时间: 2024-03-30 18:31:26 浏览: 254
在C#中,可以使用DateTime类来获取当前时间戳。时间戳通常是指从某个特定时间(如1970年1月1日)到当前时间的总秒数或毫秒数。
以下是获取当前时间戳的几种常见方法:
1. 使用DateTime.Now属性获取当前时间,然后将其转换为Unix时间戳:
```csharp
DateTime now = DateTime.Now;
DateTime unixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
long timestamp = (long)(now.ToUniversalTime() - unixEpoch).TotalSeconds;
```
2. 使用DateTimeOffset类获取当前时间,并将其转换为Unix时间戳:
```csharp
DateTimeOffset now = DateTimeOffset.Now;
DateTimeOffset unixEpoch = new DateTimeOffset(1970, 1, 1, 0, 0, 0, TimeSpan.Zero);
long timestamp = (long)(now - unixEpoch).TotalSeconds;
```
3. 使用TimeSpan类获取当前时间与Unix时间戳之间的差值:
```csharp
DateTime unixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
TimeSpan timeSpan = DateTime.UtcNow - unixEpoch;
long timestamp = (long)timeSpan.TotalSeconds;
```
请注意,以上方法获取的是以秒为单位的时间戳。如果需要以毫秒为单位的时间戳,只需将`TotalSeconds`替换为`TotalMilliseconds`即可。
阅读全文