<?PHP
//GB2312的Encode
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
/*重點了解strtotime()函數
1、strftime比time()好用,可以直接把常用的’2010-02-03‘轉成時間戳。
2、date()可以顯示1970年前的時間。而不必用負數做參數2
3、日期計算可以用時間戳來中轉。計算兩個日期相差的天數,可以取得相差的時間戳後除以“24小時*60分*60”秒來得到,但用strtotime()更簡潔、
4、了解用PEAR創建日歷。這裡略去。
知識點:網絡上有關於date('Y-m-d',-800)來計算1970年前的時間,但WINDOW系統不支持負值,因此總會返回1970-1-1子夜。
*/
#PHP5必須先設置默認區。
date_default_timezone_set('ETC/GMT-8');
$nowdate='2010-02-23';
$lassdate = '2010-02-22';
echo 'strftime()函數輸出的'.strftime('%Y-%m-%d %H:%M:%S',time()).'<br />';
echo 'date()函數輸出的'.date('Y-m-d H:i:s',time()).'<br />';
//檢查日期:boolean checkdate(int month,int day,int year)
$d='2010-2-31';
echo $d.'是'.(checkdate(2,31,2010)?'有效日期!':'無效日期!').'<br />';
//確定當月天數
echo '本月有'.date('t',time()).'天<br />'; //28天
//確定任意給定的月份的天數
$d='2008-02-01'; //閏年,或$d='2008-02';不需要輸入天也可以
$d=strtotime($d);
echo '2008年2月有'.date('t',$d).'天<br />'; //29天
$d=getdate();
echo '<pre>';
print_r($d);
echo '</pre>';
/*Array(
[seconds] => 42
[minutes] => 16
[hours] => 13
[mday] => 23
[wday] => 2
[mon] => 2
[year] => 2010
[yday] => 53
[weekday] => Tuesday
[month] => February
[0] => 1266902202
)
*/
//echo date("Y-m-d H:i:s",-8000);
//setlocale(LC_ALL,'zh_CN.gb2312'); //setlocale函數對下面的沒有影響。
#測試strftime,mktime函數。
echo strftime('今天是:%Y-%m-%d %H:%M:%S').'<br />';
echo strtotime('now').'<br />'; // 等於time(),但strtotime使用范圍更靈活,參下文.
echo '測試還原昨天