Преобразование даты в миллисекунды в MySQL

Я пытаюсь преобразовать дату в MySQL в milliseconds. Это то, что я должен получить дату:

DATE_ADD(mydate, INTERVAL(1-DAYOFWEEK(mydate)) DAY)

Но это возвращает меня как 15/02/2015, и я хочу получить milliseconds этой даты.


person Piko    schedule 17.02.2015    source источник
comment
Что вы подразумеваете под миллисекундами этой даты? Миллисекунды с эпохи Unix? Миллисекунды с какого-то другого времени?   -  person Jon Skeet    schedule 17.02.2015
comment
да, с эпохи Unix   -  person Piko    schedule 17.02.2015
comment
И какой тип mydate? (Вы должны отредактировать свой вопрос, чтобы быть намного яснее...)   -  person Jon Skeet    schedule 17.02.2015
comment
Однако вам, вероятно, следует взглянуть на функцию UNIX_TIMESTAMP.   -  person Jon Skeet    schedule 17.02.2015


Ответы (1)


Используйте функцию UNIX_TIMESTAMP.

SELECT (UNIX_TIMESTAMP(mydate)*1000) FROM...

UNIX_TIMESTAMP даст вам секунды, и вам нужно умножить на 1000, чтобы получить миллисекунды.

Чтобы преобразовать обратно, используйте функцию FROM_UNIXTIME().

SELECT FROM_UNIXTIME(date_in_milliseconds/1000) FROM ...

Опять же, вам нужно разделить на 1000, чтобы получить секунды, прежде чем использовать функцию.

person Patrick    schedule 17.06.2015