在php中,可以使用date()函數來將時間戳記轉換時間格式,該函數可以將時間戳格式化為可讀性更好的日期和時間,語法格式「date("時間戳的輸出格式",時間戳)”,例如“date("Y-m-d H:i:s",時間戳)”。
推薦:《PHP影片教學》
當時間和日期儲存在電腦中的時候,可以使用UNIX 時間戳記作為標準格式。但是 UNIX 時間戳記的可讀性很差,所以有時我們需要把 UNIX 時間戳格式化為可讀性更好的時間和日期,或者格式化為其它軟體所需的格式。
在 PHP 中可以使用 date() 函數可將時間戳格式化為可讀性較好的日期和時間。
此函數的語法格式如下:
date($format [,$timestamp])
參數:
format 必要。規定時間戳記的格式。
timestamp 可選。規定時間戳。預設是當前的日期和時間。
參數 $format 格式化字串中可以辨識的特殊字元如下表所示:
format 字元 | 說明 | 傳回值範例 |
---|---|---|
##--- | --- | |
##月份中的第幾天,使用兩位數的數字表示,不到兩位時在前面補0 | 01 到31 | |
星期幾的英文縮寫(使用3 個字母表示) | Mon 到Sun | |
月份中的第幾天,沒有前導零 | 1 | 到31 |
星期幾的英文單字 | Sunday 到Saturday | |
根據ISO-8601 標準格式,使用數字表示星期中的第幾天(PHP5.1.0 新加) | 1(表示星期一)到7(表示星期日) | |
每月天數後面的英文字尾(使用2 個字元表示) | st、nd、rd 或th。可以和j 一起使用 | |
w | 使用數字表示星期中的第幾天 | 0(表示星期日)到6(表示星期六) |
z | 使用數字表示一年中的第幾天 | 0 到365 |
##星期 | ------ | |
依ISO-8601 標準格式,使用數字表示年份中的第幾週,每週從星期一開始,(PHP 4.1.0 新增) | 例如:42(當年的第42 週) | |
月 | ------ | |
月份的英文單詞,例如January 或June | January 到December | |
使用兩位的數字表示當前月份 | #01 到12 | |
月份的英文縮寫 | #Jan 到Dec | |
使用數字表示目前月份 | 1 到12 | |
指定月份的天數 | 28 到31 | |
--- | --- | ##L |
#--- | ##L | |
如果是閏年值為1,否則為0 | ##o | 依據ISO-8601 標準格式使用數字表示年份,這和Y 的作用相同(PHP 5.1.0 新增) |
Y | 使用4位數字表示完整的年份 | |
#y | 使用2 位數字表示年份 | |
時間 | --- | |
a | 小寫的上午和下午值 | |
#A | 大寫的上午和下午值 | |
B | Swatch Internet 標準時 | |
g | 使用12 小時格式表示小時數 | |
#G | 使用24 小時格式表示小時數 | |
h | 使用 12 小时格式表示小时数,有前导零 | 01 到 12 |
H | 使用 24 小时格式表示小时数,有前导零 | 00 到 23 |
i | 使用两位数字表示分钟数,有前导零 | 00 到 59> |
s | 使用两位数字表示秒数,有前导零 | 00 到 59> |
u | 毫秒(PHP 5.2.2 新增)。需要注意的是 date() 函数总是返回 000000,因为它只接受 integer 参数,而 DateTime::format() 才支持毫秒 | 例如:654321 |
时区 | --- | --- |
e | 时区标识 | 例如:UTC、GMT、Atlantic/Azores |
I(大写的“i”) | 是否为夏令时 | 夏令时为 1,否则为 0 |
O | 与格林尼治时间相差的小时数 | 例如:+0200 |
P | 与格林尼治时间(GMT)的差别,小时和分钟之间由冒号分隔 | 例如:+02:00 |
T | 本机所在的时区 | 例如:EST、MDT(在 windows 下为完整文本格式,例如“Eastern Standard Time”,中文版会显示“中国标准时间”) |
Z | 时差偏移量的秒数,UTC 西边的时区偏移量总是负的,UTC 东边的的时区偏移量总是正的 | -43200 到 43200 |
完整的日期/时间 | --- | --- |
c | ISO-8601 格式的日期 | 2014-02-12T15:19:21+00:00 |
r | RFC 822 格式的日期 | 例如:Thu,21 Dec 2000 16:01:07 +0200 |
U | 从 UNIX 纪元(January 1 1970 00:00:00 GMT)开始至今的秒数 | 和 time() 返回相同的时间戳 |
提示:特殊字符中不能被识别的字符将原样显示,Z 字符在使用 gmdate() 函数时总是返回 0。
示例1:
<?php echo date("Y-m-d H:i:s","1256112010")."<br>"; echo date('l dS \\\\\\\\\\\\\\\\of F Y h:i:s A',"1220976000")."<br>"; echo date("Y/m/d H:i:s","1604629565")."<br>"; echo date("Y.m.d H:i:s","1604545871"); ?>
输出:
2009-10-21 16:00:10 Wednesday 10th of September 2008 12:00:00 AM 2020/11/06 10:26:05 2020.11.05 11:11:11
示例2:
<?php header('content-type:text/html;charset=utf-8'); // 设定要用的时区 date_default_timezone_set('PRC'); // 输出类似Monday echo date("l"); echo "<br/>"; // 输出类似Monday 15th of August 2005 03:12:46 PM echo date('l dS \\\\\\\\\\\\\\\\of F Y h:i:s A'); echo "<br/>"; // 输出July 1, 2000 is on a Saturday echo "July 1, 2000 is on a " . date("l"); echo "<br/>"; /* 在格式参数中使用常量 */ // 输出类似Wed, 25 Sep 2013 15:28:57 -0700 echo date(DATE_RFC2822); echo "<br/>"; // 输出类似2000-07-01T00:00:00+00:00 echo date(DATE_ATOM); echo "<br/>"; //输出类似2000-07-01 14:00:00 echo date('Y-m-d H:i:s').'<br>'; $time = time(); echo '是一周中的第 '.date('w', $time).' 天<br>'; echo '今年是:'; date('L', $time)? print('闰年'):print('平年'); ?>
输出:
Thursday Thursday 05th of November 2020 10:32:44 AM July 1, 2000 is on a Thursday Thu, 05 Nov 2020 10:32:44 +0800 2020-11-05T10:32:44+08:00 2020-11-05 10:32:44 是一周中的第 4 天 今年是:闰年
更多编程相关知识,请访问:编程教学!!
以上是php怎麼將時間戳轉換時間格式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!