Является ли время Unix значением типа данных отметки времени MYSQL? Правильный пример кода для преобразования из C #?

Я нашел этот образец исходного кода для C # из Как преобразовать метку времени Unix для DateTime и наоборот?:

DateTime date = new DateTime (2011, 4, 1, 12, 0, 0, 0);

Эпоха DateTime = новое DateTime (1970, 1, 1, 0, 0, 0, 0);

TimeSpan span = (дата - эпоха);

двойной unixTime = span.TotalSeconds.Dump ();

Если бы я вставил в таблицу MYSQL значение unixTime, было бы это эквивалентом значения типа данных отметки времени MYSQL? Я просто хочу это подтвердить.


person heavy rocker dude    schedule 29.11.2011    source источник
comment
Вы можете опубликовать пример того, как выглядит unixTime? Я не знаю, что делает Dump.   -  person Chris Laplante    schedule 30.11.2011
comment
Извините, я думаю, что unixTime должен быть двойным unixTime = span.TotalSeconds;   -  person heavy rocker dude    schedule 30.11.2011
comment
Я думаю, вам также следует создать начало Эпохи в UTC.   -  person millimoose    schedule 30.11.2011


Ответы (1)


Это зависит от версии MySQL. Формат поля TIMESTAMP был изменен с unixtime на dd-mm-yyyy hh: mm: ss с 5.something. Если вы хотите вставить unixtime в поле отметки времени, вы должны использовать встроенную функцию FROM_UNIXTIME ().

person favoretti    schedule 29.11.2011
comment
Спасибо. Это полезно, но возникает вопрос, могу ли я перейти к FROM_UNIXTIME MYSQL (значение unixTime) из приведенного выше примера C #? Я просто хочу убедиться, что моя логика верна. - person heavy rocker dude; 30.11.2011
comment
Должно работать, насколько я понимаю. Не проще ли просто протестировать? Вставьте дату, а затем выберите from_unixtime (field) из table_you_inserted_it_to; ? :) - person favoretti; 30.11.2011