Unix Timestamp in C#
Use `DateTimeOffset` (preferred) or `DateTime` with explicit `DateTimeKind.Utc`. NodaTime is the gold-standard third-party library.
Common Operations
Get current Unix timestamp (seconds)
long ts = DateTimeOffset.UtcNow.ToUnixTimeSeconds(); // 1706745600
Get current Unix timestamp (milliseconds)
long tsMs = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); // 1706745600000
Convert Unix timestamp to DateTimeOffset
var dto = DateTimeOffset.FromUnixTimeSeconds(1706745600); // 2024-01-31 22:40:00 +00:00
Convert DateTimeOffset to Unix timestamp
long ts = DateTimeOffset.Parse("2024-01-31T22:40:00Z").ToUnixTimeSeconds();
// 1706740800
Format as ISO 8601
string iso = DateTimeOffset.UtcNow.ToString("o");
// '2024-01-31T22:40:00.1234567+00:00'