Мне нужно преобразовать DateTime в метку времени Unix. Так что я гуглил он искал пример кода
Почти во всех результатах, которые я вижу, они используют double
в качестве возврата для такой функции, даже когда явно используют floor
для преобразования ее в целое число. Временные метки Unix всегда целые. Так в чем же проблема с использованием long
или int
вместо double?
static double ConvertToUnixTimestamp(DateTime date)
{
DateTime origin = new DateTime(1970, 1, 1, 0, 0, 0, 0);
TimeSpan diff = date - origin;
return Math.Floor(diff.TotalSeconds);
}