MySQL | UNIX_TIMESTAMP method
Start your free 7-days trial now!
MySQL's UNIX_TIMESTAMP(~)
method returns a Unix timestamp representing seconds since '1970-01-01 00:00:00'
UTC.
Parameters
1. date
| date/datetime/timestamp
| optional
The date/datetime/timestamp to return Unix timestamp for.
Return value
Case | Return value |
---|---|
No argument | Integer Unix timestamp |
Argument has fractional seconds | Decimal Unix timestamp |
Argument has no fractional seconds | Integer Unix timestamp |
Outside range
-
UTC | 0 |
Examples
No argument
To return the current Unix timestamp:
SELECT UNIX_TIMESTAMP();
+------------------+| UNIX_TIMESTAMP() |+------------------+| 1587946242 |+------------------+
Argument has fractional seconds
To return the current Unix timestamp for a datetime with fractional seconds:
SELECT UNIX_TIMESTAMP('2020-04-13 13:00:00.500000');
+----------------------------------------------+| UNIX_TIMESTAMP('2020-04-13 13:00:00.500000') |+----------------------------------------------+| 1586750400.500000 |+----------------------------------------------+
Note that the returned Unix timestamp is a decimal, containing information about microseconds (part after the .
).
Argument has no fractional seconds
To return the current Unix timestamp for a datetime without fractional seconds:
SELECT UNIX_TIMESTAMP('2020-04-13 13:00:00');
+---------------------------------------+| UNIX_TIMESTAMP('2020-04-13 13:00:00') |+---------------------------------------+| 1586750400 |+---------------------------------------+
Outside range
If the argument is outside the range '1970-01-01 00:00:01.000000'
to '2038-01-19 03:14:07.999999'
UTC:
SELECT UNIX_TIMESTAMP('2040-04-13 13:00:00');
+---------------------------------------+| UNIX_TIMESTAMP('2040-04-13 13:00:00') |+---------------------------------------+| 0 |+---------------------------------------+