$a="2001-5-2";
$date = explode('-',$a);
// explode依照'-'來分割字串,將分割後的資料放入陣列中,即$date
// $date[0] = 1997,$date[1] = 3,$date[2] = 2
$timestamp = mktime(0,0,0,$date[1],$date [2],$date[0]);
echo $timestamp+(3600*8)."
";//時間差8小時計算
: //echo date('Y-m' $timestamp).'
';
echo date('Y-m-d h:i:s',$timestamp).'
'; //h:i:s 12小時
'Y/m/d H:i:s',$timestamp+(3600*24)); //日期計算
範例1. time() 範例
[color=Green]$nextWeek = time( ) + (7 * 24 * 60 * 60);
// 7 days; 24 hours; 60 mins; 60secs
echo 'Now: '. date('Y-m-d') ."n";echo 'Now: '. date('Y-m-d') ."n"; : '. date('Y-m-d', $nextWeek) ."n";
?>
上例的輸出類似:
Now: 2005-03-30
Next
Now: 2005-03-30
Next
Now: 2005-03-30 Week: 2005-044-005
PHP 日期轉換
MySQL 在資料庫時間格式方面,最主要常見的兩種儲存方式,一種就是MySQL 預設datetime,顯示的格式就會像是2009-11-03 20:10:43,另一種就是存成UNIX time 格式,可以設定為int(11),這兩種其實都可以使用,在phpBB2 是採用後者的方式,因為open source 要支援多種資料庫,但又要統一程式碼,所以乾脆用UNIX 的時間標記,這樣比較好轉換時區,如果使用UNIX 格式,可以利用time() 函式來取的。
#
# 得到目前系統UNIX 時間
echo time();
# 下個禮拜時間
$nextWeek = time() + (7 * 24 * 60 * 60); 60); ; 60secs
# 另一種可以用mktime 來取得系統UNIX 時間
# 今天日期的UNIX 時間
echo mktime(0,0,0, date("Y"),date("m"),date("d "));
所以我們可以存放到mysql 資料庫,利用time() 來INSERT,接下來如何顯示時間:date() 函數
# 利用date() 函數
$time = time();
echo date("Y-m-d H:i:s", $time);
$nextWeek = time() + (7 * 24 * 60 * 60);
echo date("Y-m-d H:i:s", $nextWeek)
echo date("Y-m-d H:i:s", $nextWeek)
echo date("Y-m-d H:i:s", $nextWeek)
echo date("Y-m-d H:i:s", $nextWeek) ;
如果資料庫格式用datetime,那取出來的值必定是Y-m-d H:i:s 格式,那如何轉成UNIX time 呢,可以用strtotime
#
# 將標準時間放入第一參數
echo strtotime("2009-10-10 20:22:10");
echo strtotime("now");
結論是