Unix Timestamp in C#
In C#, DateTimeOffset.UtcNow.ToUnixTimeSeconds() returns the current Unix time, and DateTimeOffset.FromUnixTimeSeconds(ts) converts a timestamp back. Both keep the UTC offset explicit.
Get & convert epoch time in C#
var t = DateTimeOffset.FromUnixTimeSeconds(1700000000L).UtcDateTime; // 2023-11-14T22:13:20.000Z var now = DateTimeOffset.UtcNow.ToUnixTimeSeconds();
Gotcha: Prefer DateTimeOffset over DateTime — DateTime can silently lose zone information and cause off-by-hours bugs.
Frequently asked questions
- How do I get the current Unix timestamp in C#?
- DateTimeOffset.UtcNow.ToUnixTimeSeconds() for seconds, ToUnixTimeMilliseconds() for milliseconds.
- How do I convert a Unix timestamp in C#?
- DateTimeOffset.FromUnixTimeSeconds(ts).UtcDateTime gives a UTC DateTime.