Introduction to Timestamp to Date in MySQL
The following article provides an outline for Timestamp to Date in MySQL. Timestamp value can be converted into date format in SQL by using a number of methods. Some of them include the use of the FROM_UNIXTIME () function and the format function. The timestamp value can be an integer number that represents the number of seconds that have been passed from a particular date considered as the standard date for reference, which is the midnight time 12:00 of 1 January 1970, which does not involve the consideration of leap seconds in the calculation and is called as an epoch.
The integer value of the timestamp is converted in the date format of YYYY DD MM format by using a function called FROM_UNIXTIME (). Here we will see how we can implement the FROM_UNIXTIME () function to convert a value stored in a particular table in timestamp format and try to retrieve the corresponding date of that timestamp in MySQL with the help of an example.
Syntax of Timestamp to Date in MySQL
The syntax of the FROM_UNIXTIME () function in MySQL is as shown below:
FROM_UNIXTIME (UNIX timestamp value [, required format])
In the above syntax, the terminologies specified are as described below:
- UNIX timestamp value: The UNIX timestamp value is the integer value which represents the timestamp of a particular time in seconds starting from the standard time of first January 1970 and is treated internally in the database for timestamp value. This integer can also be the output of the function UNIX_TIMESTAMP () as this function also returns the UNIX timestamp value.
- required format: The required format is the optional parameter that can be supplied specifying the format of date or time desired as the output. When not specified, the default format considered is “YYYY-MM-DD hh:mm:ss”, or it can be YYYYMMDDhhmmss. The retrieved default format is dependent on the factor that whether the FROM_UNIXTIME () function is used in string context or in numeric context.
The output of the FROM_UNIXTIME () function has the current session’s time zone considered as the time zone while displaying the date and time values.
Point to be considered:
In case if we are using the FROM_UNIXTIME () function and the UNIX_TIMESTAMP () function together while trying to convert to date value from timestamp values in non-UTC time zones, there is a possibility of losing the data as the data might not get mapped properly as there is no mapping in a one-to-one way for both the directions.
How to Convert Timestamp to Date in MySQL?
- In order to convert the timestamp value in MySQL to date value, we can make the use of FROM_UNIXTIME () function. In the first step, you can take one static integer value representing UNIX timestamp value which means a number of seconds since 1 Jan 1970.
- Alternatively, you can also take one column whose datatype is unix timestamp storing this integer value of seconds. Now, in order to convert these values of a column of static ones, we will need to specify the second parameter of the FROM_UNIXTIME () function to ‘%Y %D %M’ as we want the output to be in date format.
- The first argument will be the column’s name or static timestamp value that needs to be converted. The returned output value will be the string value consisting of the date value of the supplied timestamp value.
Example of Timestamp to Date in MySQL
Given below are the example of Timestamp to Date in MySQL:
Let us consider one table with the name contact_details that has one column named join_timestamp, which stores the integer value of number format. Now, the first step will be to retrieve all the values of the contact_details table to check its contents using the following query statement.
SELECT * FROM [contact_details] ;
As we can see, the column join_timestamp contains all the integer values representing the UNIX time stamp value which is actually the number of seconds from 1 Jan 1970. Thus, the FROM_UNIXTIME () function, when applied on the same column, gives the following output and our query statement becomes as shown below.
SELECT contact_id, employee_name, home_address, alternative_address, FROM_UNIXTIME (join_timestamp) FROM [contact_details] ;
The output of the above query statement is as shown below, showing the default date time format value of the corresponding timestamp value stored in the join_timestamp column.
Now, we will see how we can retrieve only the date value from the timestamp value by using the FROM_UNIXTIME () function. This can be simply done by specifying the required format argument, which is the second optional argument to the FROM_UNIXTIME () function giving the date format as shown below.
SELECT contact_id, employee_name, home_address, alternative_address, FROM_UNIXTIME (join_timestamp,'%Y %D %M') FROM [contact_details] ;
The %Y is for the year, %D is for the date value, and the %M is for the month value in the date format. The output of the above query statement is as shown below, which retrieves only the date value of the timestamp value stored in the join_timestamp column of the contact details table.
We can also change the date format in which the date value needs to be retrieved. Let us take one more example where the same join_timestamp column value needs to be converted in a different date format. The required format is the month value, date value and then the year value. The month should be in string format displaying the name of the month and not the number.
Our query statement now changes to as shown below.
SELECT contact_id, employee_name, home_address, alternative_address, FROM_UNIXTIME (join_timestamp,'%M %d %Y') FROM [contact_details] ;
The output of the above query statement is as shown below, with the date value retrieved in the required format.
Hence, our mission is achieved, which was to retrieve the date value from the time stamp in MySQL.
The FROM_UNIXTIME () function is used to convert UTC’s timestamp value to the date value by specifying the appropriate date format as its second argument. The timestamp value should be a UNIX timestamp consisting of an integer representation of a number of seconds till the current time value from the standard timestamp 1 January 1970.
This is a guide to Timestamp to Date in MySQL. Here we discuss the introduction, how to convert timestamp to date in MySQL? And example. You may also have a look at the following articles to learn more –