回首頁
TwHappy部落格
會員專區
免費加入會員
會員登入
英文測驗
英文單字拼字測驗
英文單字填空測驗
英文測驗題庫練習
國考題庫
國考題庫亂數出題
國考題庫逐題測驗
小小遊戲
翻圖記憶
象棋麻將
智慧拼圖
幸運21點
本站服務
勞保年金試算
威力彩大樂透
最全減肥程式
日文50音辨識
棒球IQ測驗
運動IQ測驗
聯絡本站
Email信箱

PHP教學(27)範例:日期與時間函數之一
日期:2014年2月24日


電腦的標準時間是以Unix紀元(格林威治時間1970年1月1日00:00:00)
開始計算,以本文撰寫時間(2012年2月24日下午3時49分3秒)為例:從Unix紀元開始到現在已經經過了1393224543秒,這個秒數在地球上的任何時區都是一樣的,範例如下:

<?php
$time
=gettimeofday();  //取得現在時間
echo $time[sec],"<br>";  //Unix紀元開始到現在的秒數
?>


說明:
函數gettimeofday取得的時間為一組陣列,有四個陣列成員,分別如下:
一、鍵「sec」為「Unix紀元開始到現在的秒數」
二、鍵「usec」為「微秒(microseconds):百萬分之一秒」
三、鍵「minuteswest」為「與格林威志時間的時差(換算成分鐘數)」
四、鍵「dsttime」為「夏令時間修正類型」

觀看執行結果:
http://www.twhappy.com/php.php?example=27_1

由於時間是不斷前進的,每一次重新整理時,輸出網頁的秒數會繼續往上加。

如果要將「Unix紀元開始到現在的秒數」轉換為本地時間,則要以函數date_default_timezone_set設定時區,再以時間函數date將時間格式化。以台北時間為例,範例如下:

<?php
date_default_timezone_set
("Asia/Taipei");  //設定時區
$TWtime=date("Y-n-j G:i:s",1393224543);  //將時間格式化
echo $TWtime;
?>


觀看執行結果:
http://www.twhappy.com/php.php?example=27_2

說明:
一、設定時區時,變更函數date_default_timezone_set雙引號內的引數即可,底下是幾個較常見的地點:
檀香山:Pacific/Honolulu(時區:-10.00)
洛杉磯:America/Los_Angeles(時區:-8.00)
紐約:America/New_York(時區:-5.00)
台北:Asia/Taipei(時區:8.00)
首爾:Asia/Seoul(時區:9.00)
一般在資料儲存時,文章、新聞…等,多會寫入日期、時間,最精確的時間標籤是「Unix紀元開始到現在的秒數」,例如某個英文討論區的一篇文章,發言人在洛杉磯的下午4時,紐約人的感覺是下午7時發文的,而檀香山當時才下午2時。讓異地的會員設定不同的時區,就能使「同一篇文章,在不同時區的網友,觀看到的發言時間在地化」。

二、函數date有兩個參數,第一個是「所要產生的時間格式」;第二個是引數,就是被轉換的時間戳,引數可有可無,沒有指定的引數,則默認為現在時間。有關函數date的時間格式會在下一篇詳細說明。



 延伸閱讀    文章標籤:PHP教學
文章標籤
PHP教學 ( 30 )
英文學習 ( 8 )
旅遊紀實 ( 35 )
小說創作 ( 8 )
運動球技 ( 25 )
都市更新 ( 15 )
電腦網路 ( 14 )
生活財經 ( 15 )