Я вставляю DateTime в MsSQL с помощью функции GetUTCDate (), предоставляемой MsSQL.
Мне нужно преобразовать время в C#, чтобы показать его как целое число Unix / MySQL, чтобы в конечном итоге им можно было манипулировать с помощью PHP.
Я считаю, что тики Unix / PHP / MySQL начинаются с 01.01.1970, но я не уверен, как мне преобразовать эквивалентное время MsSql / C# в этот стандарт unix.
Любая помощь будет оценена по достоинству.





DateTime dt = something; //Get from db
TimeSpan ts = dt - new DateTime(1,1,1970); // off the top of my head, check order of params
long ticks = ts.TotalTicks; // again off the top of my head, check property name
Я использовал этот метод, хотя оба метода работают. Спасибо.
Вы можете сделать это в MSSQL относительно легко. На текущую дату:
SELECT DATEDIFF(s, CONVERT(DATETIME, '1970-01-01'), GETUTCDATE())
возвращает INT количество секунд с 01.01.1970, которое является меткой времени Unix.
Я считаю, что вам также нужно указать «1970-01-01» по Гринвичу, поэтому, если вы находитесь в Нью-Йорке, это должно быть «1970-01-01 05: 00: 00.000».
Так что просто вычтите 1970 из MsSQL .. который начинается @ 0/0/0000?