Методы C# для получения временного интервала Unix: DateTime, TimeSpan и DateTimeOffset

Чтобы получить временной интервал Unix в C#, вы можете использовать различные методы. Вот некоторые из них:

Метод 1: использование классов DateTime и TimeSpan

DateTime startTime = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
DateTime currentTime = DateTime.UtcNow;
TimeSpan unixTimeSpan = currentTime - startTime;
long unixTimestamp = (long)unixTimeSpan.TotalSeconds;

Метод 2. Использование классов DateTimeOffset и TimeSpan

DateTimeOffset startTime = new DateTimeOffset(1970, 1, 1, 0, 0, 0, TimeSpan.Zero);
DateTimeOffset currentTime = DateTimeOffset.UtcNow;
TimeSpan unixTimeSpan = currentTime - startTime;
long unixTimestamp = (long)unixTimeSpan.TotalSeconds;

Метод 3: использование DateTime и TimeSpan с настраиваемой эпохой

DateTime customEpoch = new DateTime(2000, 1, 1, 0, 0, 0, DateTimeKind.Utc);
DateTime currentTime = DateTime.UtcNow;
TimeSpan unixTimeSpan = currentTime - customEpoch;
long unixTimestamp = (long)unixTimeSpan.TotalSeconds;

Метод 4. Использование DateTimeOffset и TimeSpan с настраиваемой эпохой

DateTimeOffset customEpoch = new DateTimeOffset(2000, 1, 1, 0, 0, 0, TimeSpan.Zero);
DateTimeOffset currentTime = DateTimeOffset.UtcNow;
TimeSpan unixTimeSpan = currentTime - customEpoch;
long unixTimestamp = (long)unixTimeSpan.TotalSeconds;

Эти методы вычисляют метку времени Unix, находя разницу между текущим временем и временем указанной эпохи (1 января 1970 года — стандартная эпоха для меток времени Unix). Полученный временной интервал представляет собой время, прошедшее с начала эпохи в секундах.