Convert between date and unix timestamp: Difference between revisions

From LemonWiki共筆
Jump to navigation Jump to search
mNo edit summary
 
(4 intermediate revisions by the same user not shown)
Line 88: Line 88:
= TEXT( (Unixtime / 86400) + 25569, "YYYY-mm-dd hh:mm:ss")
= TEXT( (Unixtime / 86400) + 25569, "YYYY-mm-dd hh:mm:ss")
</pre>
</pre>
=== MySQL way: convert to date from unix timestamp ===
timezone: MySQL server timezone dependent {{exclaim}}<ref>[https://www.w3resource.com/mysql/date-and-time-functions/mysql-from_unixtime-function.php MySQL FROM_UNIXTIME() function]</ref>
<pre>
SELECT FROM_UNIXTIME(IF(`timestamp_column` = 0, NULL, `timestamp_column`, "%Y-%m-%d %H:%i:%S")
</pre>
=== MySQL way: convert to unix timestamp from date time ===
Using [https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html#function_unix-timestamp UNIX_TIMESTAMP()] function
timezone: MySQL server timezone dependent {{exclaim}}
* {{kbd | key = SELECT UNIX_TIMESTAMP('2011-03-15 18:53:57');}} /* return timestamp: 1300186437 */
* {{kbd | key = SELECT UNIX_TIMESTAMP(STR_TO_DATE('2011-03-15 18:53:57', '%Y-%m-%d %H:%i:%S'));}} /* return timestamp: 1300186437 */


== References ==
== References ==

Latest revision as of 19:07, 20 July 2020

terms of time format[edit]

format \ date 1899/12/31 (1900/1/0) 1900/1/1 1970/1/1 2016/1/1 notes
value of unix timestamp
(the number of seconds since 1970/01/01[1])
-2209075200 -2208988800 0 1451606400
value of Excel DATEVALUE function or LibreOffice DATEVALUE function
(Excel: number of days since 1898/12/31)
0 1 25569 42370 5 digit numbers after 1970/1/1

Icon_exclaim.gif VALUE() function on Excel is number of days since 1899/12/31. DATEVALUE of 1900/1/1 will return 1. VALUE() function on Google sheet is number of days since 1899/12/30 [Last visited: 2019-05-22]

Convert between date and unix timestamp[edit]

Online tool

// timestamp: 1552521600
// Is equivalent to:
// 03/14/2019 @ 12:00am (UTC)
// 2019-03-14T00:00:00+00:00 in ISO 8601
// Thu, 14 Mar 2019 00:00:00 +0000 in RFC 822, 1036, 1123, 2822
// Thursday, 14-Mar-19 00:00:00 UTC in RFC 2822
// 2019-03-14T00:00:00+00:00 in RFC 3339

PHP way: convert to date time from unix timestamp[edit]

Using the date() function & date_default_timezone_set

date_default_timezone_set('UTC');
$timestamp = 0;
echo date('Y-m-d H:i:s', $timestamp) . PHP_EOL; // 1970-01-01 00:00:00

date_default_timezone_set("Europe/London");
$timestamp = 1552521600;
echo date('Y-m-d H:i:s', $timestamp) . PHP_EOL; // 2019-03-14 00:00:00

date_default_timezone_set("Asia/Taipei");
$timestamp = 1552521600;
echo date('Y-m-d H:i:s', $timestamp) . PHP_EOL; // 2019-03-14 08:00:00

PHP way: convert to unix timestamp from date time[edit]

Using the strtotime() function

date_default_timezone_set("Europe/London");
echo strtotime('2019-03-14 00:00:00') . PHP_EOL; // 1552521600

date_default_timezone_set("Asia/Taipei");
echo strtotime('2019-03-14 08:00:00') . PHP_EOL; // 1552521600

Excel way: convert to date from unix timestamp[edit]

timezone: UTC

= (VALUE( date_time )-25569)*86400

Excel way: convert to unix timestamp from date[edit]

input data (A2 cell): YYYY/MM/DD (e.g. 2024/03/28 ) or YYYY/MM/DD HH:MM (e.g. 2024/03/28 11:04) =(A2-DATE(1970,1,1))*86400 [2]

timezone: UTC

= TEXT( (Unixtime / 86400) + 25569, "YYYY-mm-dd hh:mm:ss")

MySQL way: convert to date from unix timestamp[edit]

timezone: MySQL server timezone dependent Icon_exclaim.gif[3]

SELECT FROM_UNIXTIME(IF(`timestamp_column` = 0, NULL, `timestamp_column`, "%Y-%m-%d %H:%i:%S") 

MySQL way: convert to unix timestamp from date time[edit]

Using UNIX_TIMESTAMP() function

timezone: MySQL server timezone dependent Icon_exclaim.gif

  • SELECT UNIX_TIMESTAMP('2011-03-15 18:53:57'); /* return timestamp: 1300186437 */
  • SELECT UNIX_TIMESTAMP(STR_TO_DATE('2011-03-15 18:53:57', '%Y-%m-%d %H:%i:%S')); /* return timestamp: 1300186437 */

References[edit]