日期時間函數庫的簡介
-
設置時區(qū)
1唠雕、修改php的配置文件date.timezone設置時區(qū)
2、通過date_default_timezone_set()動態(tài)設置時區(qū) true false
/**
* date_default_timezone_get() 得到當前時區(qū)
* 亞洲時區(qū)
* PRC 中華人民共和國
* Asia/Shanghai
* 修改php.ini配置文件 date.timezone=PRC,重啟服務器,針對所有腳本都有效
*/
echo date_default_timezone_get(); // Europe/Berlin
date_default_timezone_set('PRC');
date_default_timezone_set('Asia/Shanghai');
echo date_default_timezone_get(); // Asia/Shanghai
3侣集、通過init_set()動態(tài)設置時區(qū)
/**
* ini_set() 運行時設置PHP的時區(qū)
* ini_get() 獲得配置選項的值
*/
echo ini_get('date.timezone'); // Europe/Berlin
echo PHP_EOL;
ini_set('date.timezone','PRC');
echo ini_get('date.timezone'); // PRC
日期時間函數庫的使用
-
格式化本地日期時間date()
月份:帶前導0的是m简僧,不帶前導0的是n
日:帶前導0的是d坛增,不帶前導0的是j
// date('w') // 星期中的第幾天
echo date('Y-m-d H:i:s'); // 2019-12-26 11:28:10
echo date('Y'); // 2019
echo date('Y-m-d H:i:s').' 星期'.['日','一','二','三','四','五','六'][date('w')]; // 2019-12-26 11:34:51 星期四
$year = date('Y');
echo date('L') ? '是閏年':'不是閏年'; // 檢測是否是閏年获雕,是返回1,不是返回0
if($year % 4==0 && ($year % 100 !=0 || $year % 400 == 0)){
echo '是閏年';
}else{
echo '不是閏年';
}
echo '本周是全年中的第'.date('W').'周'; // 當天是全年中的第52周
echo '當前是本年中的第'.date('z').'天';
echo '本月共'.date('t').'天';
-
時間戳time()收捣,返回秒數
從1970年1月1日00:00:00到當前時間所經歷的秒數
獲取當前的時間戳
echo time(); // 獲取當前時間的時間戳届案,單位秒
echo '一天之后這個時間為'.date('Y-m-d H:i:s',time()+24*3600);
echo '一周之后這個時間為'.date('Y-m-d H:i:s',time()+7*24*3600);
echo '14天之后這個時間為'.date('Y-m-d H:i:s',time()+14*24*3600);
將制定日期轉換成時間戳
$time = mktime(0,0,0,05,25,1988); // mktime(h:i:s n:j:Y)** 得到指定日期的時間戳
$birth = date('Y-m-d',$time);
echo $birth;
$days = floor((time()-$time)/(3600*24*365));
echo $days;
echo mktime(0);
將英文文本的日期或時間轉換成時間戳
echo time();
echo PHP_EOL;
echo strtotime('now');
echo PHP_EOL;
echo time()+24*3600;
echo PHP_EOL;
echo strtotime('+1 day');
echo strtotime('-1 day');
echo strtotime('+5 days');
echo strtotime('+1 month');
echo strtotime('+2 years +3 months +4 days');
echo strtotime('last Monday');
-
微秒的使用
通過microtime()獲取微秒
通過微秒實現計算PHP的執(zhí)行時間
echo time(); // 1577363387
echo PHP_EOL;
echo microtime(); // 0.34274400 1577363387 微秒數 時間戳
echo PHP_EOL;
echo microtime(true); // 1577363622.6872
echo PHP_EOL;
$start = microtime(true);
for($i=0;$i<10000;$i++){
$arr[]=$i;
}
$end = microtime(true);
echo '程序執(zhí)行時間'.round($end-$start,4);
print_r(getDate()); // 得到日期時間相關信息
/**
* Array
(
[seconds] => 6
[minutes] => 40
[hours] => 13
[mday] => 26
[wday] => 4
[mon] => 12
[year] => 2019
[yday] => 359
[weekday] => Thursday
[month] => December
[0] => 1577364006
)
*/
print_r(gettimeofday()); // 獲取當前的日期時間信息
/**
*Array
(
[sec] => 1577364122
[usec] => 768192
[minuteswest] => -60
[dsttime] => 0
)
*/
var_dump(checkDate(12,34,2019)); // 驗證日期的合法性