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'

Other Languages

Need the full converter? Open the Timestamp Converter →