Подтвердить что ты не робот

Что такое тип данных для unix_timestamp (MySQL)?

Какой тип данных следует использовать для сохранения unix_timestamp (MySQL)?

4b9b3361

Ответ 1

тип имеет целочисленное значение:

int(11) 

хорош для индексирования и таких условий, как > < =

Ответ 2

Вы хотите использовать тип данных TIMESTAMP.
Он сохраняется как значение эпохи, но MySQL отображает значение как "ГГГГ-ММ-ДД ЧЧ: ММ: СС".

Ответ 3

Тип данных MySql DateTime хранит дату в формате "ГГГГ-ММ-ДД ЧЧ: ММ: СС" в диапазоне от "1000-01-01 00:00:00" до "9999-12-31 23:59:59".

Тип данных MySql TIMESTAMP хранит дату в формате "ГГГГ-ММ-ДД ЧЧ: ММ: СС" в диапазоне от "1970-01-01 00:00:01" UTC до "2038-01-19 03:14:07" УНИВЕРСАЛЬНОЕ ГЛОБАЛЬНОЕ ВРЕМЯ.

Unix TIMESTAMP - это количество секунд с 1970-01-01, если вы хотите сохранить метку времени Unix в mysql db, вам следует использовать int(11) с атрибутом UNSIGNED (чтобы разрешить только положительные числа), и если вы хотите сохранить количество микросекунд, которые вы должны использовать bigint(20),..

Если вы хотите получить unixtimestamp в удобочитаемом формате в вашем запросе выбора, вы можете использовать

SELECT FROM_UNIXTIME(CAST(yourtable.start_time as UNSIGNED)) as date_time

Если вы используете php вы можете использовать:

$unixtimestamp= time();//1544619186

echo(date("Y-m-d", $unixtimestamp));//2018-12-12

Если вы хотите отобразить дату и время с использованием локального часового пояса в Javascript, используйте эту функцию

  function timeConverter(UNIX_timestamp){
        var date = new Date(UNIX_timestamp*1000);
        var year = date.getFullYear();
        var month = ("0"+(date.getMonth()+1)).substr(-2);
        var day = ("0"+date.getDate()).substr(-2);
        var hour = ("0"+date.getHours()).substr(-2);
        var minutes = ("0"+date.getMinutes()).substr(-2);
        var seconds = ("0"+date.getSeconds()).substr(-2);

        return year+"-"+month+"-"+day+" "+hour+":"+minutes+":"+seconds;
    }
   console.log(timeConverter(value));// 2018-14-12 13:11:33

(В этом случае сервер должен вернуть unixTimestamp как есть: SELECT yourtable.start_time as date_time)