PHP日期时间
参考地址:http://php.net/manual/en/function.date.php
<?php // Assuming today is March 10th, 2001, 5:16:18 pm, and that we are in the // Mountain Standard Time (MST) Time Zone $today = date("F j, Y, g:i a"); // March 10, 2001, 5:16 pm $today = date("m.d.y"); // 03.10.01 $today = date("j, n, Y"); // 10, 3, 2001 $today = date("Ymd"); // 20010310 $today = date('h-i-s, j-m-y, it is w Day'); // 05-16-18, 10-03-01, 1631 1618 6 Satpm01 $today = date('\i\t \i\s \t\h\e jS \d\a\y.'); // it is the 10th day. $today = date("D M j G:i:s T Y"); // Sat Mar 10 17:16:18 MST 2001 $today = date('H:m:s \m \i\s\ \m\o\n\t\h'); // 17:03:18 m is month $today = date("H:i:s"); // 17:16:18 $today = date("Y-m-d H:i:s"); // 2001-03-10 17:16:18 (the MySQL DATETIME format) ?>
有这样的需求,需要 PHP 将从 MySQL 数据中读取到的 datetime 类型的字符串(类似“2016-08-12 15:04:32”)转换成特定格式(比如“3:04pm 12 August 2016”)。
我从这里了解到,我要这么做 —— 用 strtotime 函数将任何英文的 datetime 形式的描述(比如“2016-08-12 15:04:32”)解析成 Unix 时间戳(1470985472,为 int 类型),然后再使用 date 函数将得到的时间戳转换成想要看到的格式(比如“3:04pm 12 August 2016”,为 string 类型)。
下面是运行效果:
<?php echo "Last updated: " . date("g:ia j F Y") . "<br>"; $time = strtotime("2016-08-12 15:04:32"); echo $time . "<br>"; echo date("g:ia j F Y", $time); // Last updated: 4:19pm 12 August 2016 // 147098547 // 23:04pm 12 August 2016 ?>