搜尋
首頁後端開發PHP問題php 怎麼實作時間戳轉格式

php實作時間戳記格式的方法:1、透過strtotime取得指定日期的unix時間戳記;2、使用date函數將指定時間戳記轉換成系統時間格式即可。

php 怎麼實作時間戳轉格式

本文操作環境:Windows7系統,PHP7.1版,Dell G3電腦。

php 怎麼實作時間戳轉格式?

php中時間戳與日期格式的轉換

一,PHP時間戳函數取得指定日期的unix時間戳strtotime(”2009-1- 22″) 範例如下:

echo strtotime(”2009-1-22″) 结果:1232553600

說明:傳回2009年1月22日0點0分0秒時間戳記

二,PHP時間戳記函數取得英文文字日期時間範例如下:

方便比較,使用date將當時間戳記與指定時間戳記轉換成系統時間

(1)列印明天此時的時間戳strtotime(” 1 day”)

目前時間:echo date(”Y-m-d H:i:s”,time()) 結果:2009-01-22 09:40:25

指定時間:echo date(”Y-m-d H:i :s”,strtotime(” 1 day”)) 結果:2009-01-23 09:40:25

(2)列印昨天此時的時間戳strtotime(”-1 day”)

目前時間:echo date(”Y-m-d H:i:s”,time()) 結果:2009-01-22 09:40:25

指定時間:echo date(”Y-m-d H :i:s”,strtotime(”-1 day”)) 結果:2009-01-21 09:40:25

(3)列印下個星期此時的時間戳strtotime(” 1 week ”)

目前時間:echo date(”Y-m-d H:i:s”,time()) 結果:2009-01-22 09:40:25

指定時間:echo date (”Y-m-d H:i:s”,strtotime(” 1 week”)) 結果:2009-01-29 09:40:25

(4)列印上星期此時的時間戳strtotime( ”-1 week”)

目前時間:echo date(”Y-m-d H:i:s”,time()) 結果:2009-01-22 09:40:25

#指定時間:echo date(”Y-m-d H:i:s”,strtotime(”-1 week”)) 結果:2009-01-15 09:40:25

(5)列印指定下週幾的時間戳strtotime(”next Thursday”)

目前時間:echo date(”Y-m-d H:i:s”,time()) 結果:2009-01-22 09:40:25

指定時間:echo date(”Y-m-d H:i:s”,strtotime(”next Thursday”)) 結果:2009-01-29 00:00:00

(6)列印指定上星期幾的時間戳strtotime(”last Thursday”)

目前時間:echo date(”Y-m-d H:i:s”,time()) 結果:2009-01-22 09:40:25

指定時間:echo date(”Y-m-d H:i:s”,strtotime(”last Thursday”)) 結果:2009-01-15 00:00:00

以上PHP時間戳函數範例可知,strtotime能將任何英文文本的日期時間描述解析為Unix時間戳,我們結合mktime()或date()格式化日期時間取得指定的時間戳,實現所需的日期時間。

範例:

<?php
//时间戳转日期
$date_time_array = getdate(1297845628); //1311177600  1316865566
$hours = $date_time_array["hours"];
$minutes = $date_time_array["minutes"];
$seconds = $date_time_array["seconds"];
$month = $date_time_array["mon"];
$day = $date_time_array["mday"];
$year = $date_time_array["year"];
 
echo "year:$year\nmonth:$month\nday:$day\nhour:$hours\nminutes:$minutes\nseconds:$seconds\n";
 
//正常日期转时间戳
echo mktime(0, 0, 0, 9, 18, 2011) . "\n";
echo mktime(0, 0, 0, 9, 25, 2011) . "\n";
 
//可以对此进行格式化
echo "time()显示年月日时分秒:" . date("Y-m-d H:i:s", time()) . "\n";
//这样连时,分秒一起显示
echo "time()只显示年月日:" . date("Y-m-d ", time()) . "\n"; //只年示年月日
 
echo "时间戳格式化:" . date("Y-m-d H:i:s", 1297845628) . "\n"; //直接使用时间戳
//把正常日期转成时间戳了,这里如果有时分秒也是同理,
$year=((int)substr("2008-12-04",0,4));//取得年份
$month=((int)substr("2008-12-04",5,2));//取得月份
$day=((int)substr("2008-12-04",8,2));//取得几号
echo mktime(0,0,0,$month,$day,$year);
 
?>

需要注意的部分

、PHP時間大的來分有兩種,一是時間戳類型(1228348800),二是正常日期格式(2008-12-4)

、php5.1以上時間戳記會與實際時間相差8小時,解決方法如下

1、最簡單的方法就是不要用php5.1以上的版本--顯然這是不可取的方法! ! !

2、修改php.ini。打開php.ini查找date.timezone 去掉前面的分號= 後面加Asia/Shanghai,重啟apache伺服器即可--缺點就是如果程式放到別人的伺服器上,不能修改php.ini,那就奈何不得了。

3、在程式中加入時間的初始化的語句的 即:「date_default_timezone_set("Asia/Shanghai"); 」這個可以由程式設計師任意設置,我的推薦。

時區標識符,大陸內地可用的值是:PRC,Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi (依次為中國,重慶,上海,烏魯木齊) ,Etc/GMT-8,Asia/ Harbin

港台地區可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei (依序為澳門,香港,台北)

還有新加坡:Asia/Singapore

這樣就可以實現輸出的是北京時間了

推薦學習:《PHP影片教學

以上是php 怎麼實作時間戳轉格式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

北端:融合系統,解釋
1 個月前By尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
4 週前By尊渡假赌尊渡假赌尊渡假赌
<🎜>掩蓋:探險33-如何獲得完美的色度催化劑
2 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。