The FROM_UNIXTIME SQL Function in MySQL and MariaDB - Format Unix timestamp |
|
| | FROM_UNIXTIME | Syntax: | FROM_UNIXTIME(Unix timestamp [, Format]) | | Return value: | DATETIME | | Function type: | Date and Time function | |
| | The FROM_UNIXTIME() function returns the argument "Unix timestamp" as a value in the format YYYY-MM-DD HH:MM:SS or YYYYMMDDHHMMSS.uuuuuu.
The type of return value depends on whether the function is used in a string or numeric context.
The return value is returned expressed in the current time zone.
The value of "Unix timestamp" is an internal timestamp value as produced by the UNIX_TIMESTAMP() function.
It should be noted that the function calculates with a UTC date and the result varies depending on the time zone. See example.
If the value of "Unix timestamp" is invalid or NULL, or "Format" is NULL, the FROM_UNIXTIME() function returns NULL.
If the argument "Format" is given, the result will be formatted according to the format string.
Options for the "Format" string:
| Option | Description |
| %a | Short weekday name in current locale (Variable lc_time_names). |
| %b | Short form month name in current locale. For locale en_US this is one of: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov or Dec. |
| %c | Month with 1 or 2 digits. |
| %D | Day with English suffix 'th', 'nd', 'st' or 'rd''. (1st, 2nd, 3rd...). |
| %d | Day with 2 digits. |
| %e | Day with 1 or 2 digits. |
| %f | Microseconds 6 digits. |
| %H | Hour with 2 digits between 00-23. |
| %h | Hour with 2 digits between 01-12. |
| %I | Hour with 2 digits between 01-12. |
| %i | Minute with 2 digits. |
| %j | Day of the year (001-366) |
| %k | Hour with 1 digits between 0-23. |
| %l | Hour with 1 digits between 1-12. |
| %M | Full month name in current locale (Variable lc_time_names). |
| %m | Month with 2 digits. |
| %p | AM/PM according to current locale (Variable lc_time_names). |
| %r | Time in 12 hour format, followed by AM/PM. Short for '%I:%i:%S %p'. |
| %S | Seconds with 2 digits. |
| %s | Seconds with 2 digits. |
| %T | Time in 24 hour format. Short for '%H:%i:%S'. |
| %U | Week number (00-53), when first day of the week is Sunday. |
| %u | Week number (00-53), when first day of the week is Monday. |
| %V | Week number (01-53), when first day of the week is Sunday. Used with %X. |
| %v | Week number (01-53), when first day of the week is Monday. Used with %x. |
| %W | Full weekday name in current locale (Variable lc_time_names). |
| %w | Day of the week. 0 = Sunday, 6 = Saturday. |
| %X | Year with 4 digits when first day of the week is Sunday. Used with %V. |
| %x | Year with 4 digits when first day of the week is Sunday. Used with %v. |
| %Y | Year with 4 digits. |
| %y | Year with 2 digits. |
| %# | For str_to_date(), skip all numbers. |
| %. | For str_to_date(), skip all punctation characters. |
| %@ | For str_to_date(), skip all alpha characters. |
| %% | A literal % character. |
| SQL Examples for the FROM_UNIXTIME function |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
|
SELECT from_unixtime(unix_timestamp());
SELECT from_unixtime(unix_timestamp() + 1);
SELECT from_unixtime(unix_timestamp()) + 1;
SELECT from_unixtime(unix_timestamp()) + 0.001;
SELECT from_unixtime(1670799600);
SELECT from_unixtime(1670799600) + 1;
SELECT from_unixtime(1670799600) + 0.001;
SET SESSION time_zone = '+1:00';
SELECT '+1:00' AS time_zone;
SELECT from_unixtime(0);
SET SESSION time_zone = '+0:00';
SELECT '+0:00' AS time_zone;
SELECT from_unixtime(0);
SELECT from_unixtime(unix_timestamp(), '%Y-%m-%d');
SELECT from_unixtime(unix_timestamp(), '%y-%M-%d');
SELECT from_unixtime(unix_timestamp(), '%y-%M-%d %h:%m:%s');
SELECT from_unixtime(unix_timestamp(), 'Date: %Y_%m_%d, Time: %h.%m.%s');
SELECT from_unixtime(111111111111111111111);
SELECT from_unixtime(null);
SELECT from_unixtime(unix_timestamp(), null);
|
|
| from_unixtime(unix_timestamp()) |
| datetime(19) |
| 2023-03-28 16:03:31 |
|
|
| from_unixtime(unix_timestamp() + 1) |
| datetime(19) |
| 2023-03-28 16:03:32 |
|
|
| from_unixtime(unix_timestamp()) + 1 |
| bigint(16) |
| 20230328160332 |
|
|
| from_unixtime(unix_timestamp()) + 0.001 |
| decimal(20) |
| 20230328160331.001 |
|
|
| from_unixtime(1670799600) |
| datetime(19) |
| 2022-12-12 00:00:00 |
|
|
| from_unixtime(1670799600) + 1 |
| bigint(16) |
| 20221212000001 |
|
|
| from_unixtime(1670799600) + 0.001 |
| decimal(20) |
| 20221212000000.001 |
|
|
| time_zone |
| varchar(5) BINARY |
| +1:00 |
|
|
| from_unixtime(0) |
| datetime(19) |
| 1970-01-01 01:00:00 |
|
|
| time_zone |
| varchar(5) BINARY |
| +0:00 |
|
|
| from_unixtime(0) |
| datetime(19) |
| 1970-01-01 00:00:00 |
|
|
| from_unixtime(unix_timestamp(), '%Y-%m-%d') |
| varchar(10) BINARY |
| 2023-03-28 |
|
|
| from_unixtime(unix_timestamp(), '%y-%M-%d') |
| varchar(70) BINARY |
| 23-March-28 |
|
|
| from_unixtime(unix_timestamp(), '%y-%M-%d %h:%m:%s') |
| varchar(79) BINARY |
| 23-March-28 02:03:31 |
|
|
| from_unixtime(unix_timestamp(), 'Date: %Y_%m_%d, Time: %h.%m.%s') |
| varchar(32) BINARY |
| Date: 2023_03_28, Time: 02.03.31 |
|
|
| from_unixtime(111111111111111111111) |
| datetime(19) |
| NULL |
|
|
| from_unixtime(null) |
| datetime(19) |
| NULL |
|
|
| from_unixtime(unix_timestamp(), null) |
| varchar(0) BINARY |
| NULL |
|
|
| | The examples were created with the MyWAY SQL manager: | How to use the FROM_UNIXTIME() function in MySQL and MariaDB databases | | In MySQL and MariaDB the FROM_UNIXTIME() function is used to convert a Unix timestamp represented as Number of seconds since January 1, 1970, to an equivalent date and time. The function returns the date and time in the format "YYYY-MM-DD HH:MM:SS" and can be used to convert a Unix timestamp into a human-readable date and time format, to combine with other date and time functions, and to perform various calculations or manipulations. | | Further MySQL und MariaDB SQL Date and Time functions | | ADDDATE | ADDDATE(Date, [INTERVAL] Number [Unit]) | | More about ADDDATE Function |
| | ADDTIME | ADDTIME(Date, Expression) | | More about ADDTIME Function |
| | CONVERT_TZ | CONVERT_TZ(Date, From time zone, To time zone) | | More about CONVERT_TZ Function |
| | CURDATE | CURDATE() | | More about CURDATE Function |
| | CURTIME | CURTIME([Precision]) | | More about CURTIME Function |
| | CURRENT_DATE | CURRENT_DATE(-) | | More about CURRENT_DATE Function |
| | CURRENT_TIME | CURRENT_TIME([Precision]) | | More about CURRENT_TIME Function |
| | CURRENT_TIMESTAMP | CURRENT_TIMESTAMP([Precision]) | | More about CURRENT_TIMESTAMP Function |
| | DATE | DATE(Date and Time) | | More about DATE Function |
| | DATE_ADD | DATE_ADD(Date, INTERVAL Number Unit) | | More about DATE_ADD Function |
| | DATE_SUB | DATE_SUB(Date, INTERVAL Number Unit) | | More about DATE_SUB Function |
| | FROM_DAYS | FROM_DAYS(Number of days) | | More about FROM_DAYS Function |
| | LOCALTIME | LOCALTIME([Precision]) | | More about LOCALTIME Function |
| | LOCALTIMESTAMP | LOCALTIMESTAMP([Precision]) | | More about LOCALTIMESTAMP Function |
| | MAKEDATE | MAKEDATE(Year, Day of year) | | More about MAKEDATE Function |
| | MAKETIME | MAKETIME(Hours, Minutes, Seconds) | | More about MAKETIME Function |
| | NOW | NOW([Precision]) | | More about NOW Function |
| | SEC_TO_TIME | SEC_TO_TIME(Seconds) | | More about SEC_TO_TIME Function |
| | SLEEP | SLEEP(Seconds) | | More about SLEEP Function |
| | STR_TO_DATE | STR_TO_DATE(String, Format) | | More about STR_TO_DATE Function |
| | SUBDATE | SUBDATE(Date, [INTERVAL] Number [Unit]) | | More about SUBDATE Function |
| | SUBTIME | SUBTIME(Date and Time, Deduction) | | More about SUBTIME Function |
| | SYSDATE | SYSDATE() | | More about SYSDATE Function |
| | TIME | TIME(Date and Time) | | More about TIME Function |
| | TIMEDIFF | TIMEDIFF(Date 1, Date 2) | | More about TIMEDIFF Function |
| | TIMESTAMP | TIMESTAMP(Date [, Addition]) | | More about TIMESTAMP Function |
| | TIMESTAMPADD | TIMESTAMPADD(Unit, Number, Date) | | More about TIMESTAMPADD Function |
| | TIMESTAMPDIFF | TIMESTAMPDIFF(Unit, Date 1, Date 2) | | More about TIMESTAMPDIFF Function |
| | UTC_DATE | UTC_DATE() | | More about UTC_DATE Function |
| | UTC_TIME | UTC_TIME([Precision]) | | More about UTC_TIME Function |
| | UTC_TIMESTAMP | UTC_TIMESTAMP([Precision]) | | More about UTC_TIMESTAMP Function |
| | DAY | DAY(Date) | | More about DAY Function |
| | DAYOFMONTH | DAYOFMONTH(Date) | | More about DAYOFMONTH Function |
| | DAYOFWEEK | DAYOFWEEK(Date) | | More about DAYOFWEEK Function |
| | DAYOFYEAR | DAYOFYEAR(Date) | | More about DAYOFYEAR Function |
| | EXTRACT | EXTRACT(Unit FROM Date) | | More about EXTRACT Function |
| | HOUR | HOUR(Date and Time) | | More about HOUR Function |
| | MICROSECOND | MICROSECOND(Date and Time) | | More about MICROSECOND Function |
| | MINUTE | MINUTE(Date and Time) | | More about MINUTE Function |
| | MONTH | MONTH(Date) | | More about MONTH Function |
| | QUARTER | QUARTER(Date) | | More about QUARTER Function |
| | SECOND | SECOND(Date and Time) | | More about SECOND Function |
| | TIME_TO_SEC | TIME_TO_SEC(Time) | | More about TIME_TO_SEC Function |
| | TO_DAYS | TO_DAYS(Date) | | More about TO_DAYS Function |
| | TO_SECONDS | TO_SECONDS(Date and Time) | | More about TO_SECONDS Function |
| | UNIX_TIMESTAMP | UNIX_TIMESTAMP([Date and Time]) | | More about UNIX_TIMESTAMP Function |
| | WEEK | WEEK(Date [, Mode]) | | More about WEEK Function |
| | WEEKDAY | WEEKDAY(Date) | | More about WEEKDAY Function |
| | WEEKOFYEAR | WEEKOFYEAR(Date) | | More about WEEKOFYEAR Function |
| | YEAR | YEAR(Date) | | More about YEAR Function |
| | YEARWEEK | YEARWEEK(Date [, Mode]) | | More about YEARWEEK Function |
| | DAYNAME | DAYNAME(Date) | | More about DAYNAME Function |
| | DATE_FORMAT | DATE_FORMAT(Date and Time, Format) | | More about DATE_FORMAT Function |
| | GET_FORMAT | GET_FORMAT(Type, Format) | | More about GET_FORMAT Function |
| | MONTHNAME | MONTHNAME(Date) | | More about MONTHNAME Function |
| | TIME_FORMAT | TIME_FORMAT(Time, Format) | | More about TIME_FORMAT Function |
|
|
| | | More information about the FROM_UNIXTIME SQL function: and |
|
|
|
|