phpdate差
㈠ 為什麼"php"用"date"做時間輸出的時候,時間相差了12小時
你這么寫
date("Y-m-d H:i:s");
看出差別了嗎?
一個是h
一個是H
前陣是 12小時制 當然是 04
後者是24小時制 所以是16
㈡ php如何計算兩個時間戳之間相差的日時分秒
//$begin_time 開始時間戳
//$end_time 結束時間戳
function timediff($begin_time,$end_time)
{
if($begin_time < $end_time){
$starttime = $begin_time;
$endtime = $end_time;
}else{
$starttime = $end_time;
$endtime = $begin_time;
}
//計算天數
$timediff = $endtime-$starttime;
$days = intval($timediff/86400);
//計算小時數
$remain = $timediff%86400;
$hours = intval($remain/3600);
//計算分鍾數
$remain = $remain%3600;
$mins = intval($remain/60);
//計算秒數
$secs = $remain%60;
$res = array("day" => $days,"hour" => $hours,"min" => $mins,"sec" => $secs);
return $res;
}
(2)phpdate差擴展閱讀:
PHP date()函數語法:
string date(string $ format [,int $ timestamp])
PHP Date() - 格式化日期:
date()函數的第一個必需參數format規定了如何格式化日期/時間。可以在字母之間插入其他字元,比如「/」,「。」或者「 - 」,這樣就可以增加附加格式了。
㈢ 為什麼我在php中用date()函數獲取的時間老師與我電腦上顯示的差8小時
這是時區設置的問題
看看PHP手冊的「例子 1. date() 例子」第一行多了一個 時區設置
// 設定要用的默認時區。自 PHP 5.1 可用
date_default_timezone_set(』UTC』);
原來php5.1.開始,php.ini里加入了date.timezone這個選項,默認情況下是關閉的,也就是顯示的時間(無論用什麼php命令)都是格林威治標准時間,和北京時間正好差8個小時。
如何設置可以得到正確的PHP時間。
1、修改php.ini。打開php.ini查找date.timezone 去掉前面的分號= 後面加Asia/Shanghai,重啟apache伺服器即可--缺點就是如果程序
放到別人的伺服器上,不能修改php.ini,那就奈何不得了。
2、在程序中添加時間的初始化的語句的 即:「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
這樣就可以實現輸出的是北京時間了更詳細的時區代碼 時區編碼 時區索引碼 timezone_identifier 大家可以在官方網站中查到
㈣ 為什麼我在php中用date()函數獲取的時間老師與我電腦上顯示的差8小時
找到php安裝目錄下的php.ini配置文件:
[Date]
;
Defines
the
default
timezone
used
by
the
date
functions
;
http://php.net/date.timezone
date.timezone
=
PRC
;該行原來是注釋掉的,修改即可,
------------------
或者是在php文件裡面使用時間之前
<?php
date_Default_TimeZone_set("PRC");
$nowtime=date("Y-m-d
H:i:s");
echo
"現在時間:
".$nowtime;
?>
㈤ php如何計算兩個時間戳之間相差的日時分秒
php要計算兩個時間戳之間相差的日時分秒可以參考以下內容:
//功能:計算兩個時間戳之間相差的日時分秒
//$begin_time 開始時間戳
//$end_time 結束時間戳
function timediff($begin_time,$end_time)
{
if($begin_time < $end_time){
$starttime = $begin_time;
$endtime = $end_time;
}else{
$starttime = $end_time;
$endtime = $begin_time;
}
//計算天數
$timediff = $endtime-$starttime;
$days = intval($timediff/86400);
//計算小時數
$remain = $timediff%86400;
$hours = intval($remain/3600);
//計算分鍾數
$remain = $remain%3600;
$mins = intval($remain/60);
//計算秒數
$secs = $remain%60;
$res = array("day" => $days,"hour" => $hours,"min" => $mins,"sec" => $secs);
return $res;
}
print_r(timediff(strtotime(2015-03-20 16:20:30'),strtotime('2015-05-25 11:10:10')));
PHP是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。PHP 獨特的語法混合了C、Java、Perl以及PHP自創的語法。
它可以比CGI或者Perl更快速地執行動態網頁。用PHP做出的動態頁面與其他的編程語言相比,PHP是將程序嵌入到HTML(標准通用標記語言下的一個應用)文檔中去執行,執行效率比完全生成HTML標記的CGI要高許多;PHP還可以執行編譯後代碼,編譯可以達到加密和優化代碼運行,使代碼運行更快。
(5)phpdate差擴展閱讀:
php相關語法及概念:
php 支持八種原始類型。
四種標量類型:boolean(布爾型) integer(整型) float(浮點型,也作「double」) string(字元串)
兩種復合類型:array(數組)object(對象)
最後是兩種特殊類型:resource(資源)NULL
㈥ 求助:php的time()和date()取出來的時間都是差了8小時
<?php
date_default_timezone_set('PRC');
echodate('Y-m-dH:i:s');
試試這樣對不對,如果對的話說明設置時區的代碼可能跟調用時間的代碼不在一起。比如設置時區的代碼在一個包含文件里,調用date函數的代碼在另一個文件,關鍵是這個文件沒有引用設置時區的代碼。
㈦ php date.timezone = Asia/Shanghai ,設置 了,為什麼還是差8個小時
差了8個小時,應該是配置沒有生效。
web目錄下加一個i.php 輸出一下phpinfo() 看裡面實際用到的php.ini 跟你改那個是否是同一個
如果是同一個文件,確保相關的應用重啟過以載入新配置,比如:apache 或 php-fpm 具體看你的伺服器配置,實在不行,重啟伺服器
還不行就手動檢查 伺服器上的時間,看時間是否有問題
如果沒有許可權修改php.ini 可以在公共代碼的起始位置手動設置時區
date_default_timezone_set('Asia/Shanghai');
PHP支持的所有時區列表
㈧ php 計算兩個時間相差多少天
有時可能會碰到這種需求,需要計算兩個日期相隔多少天?
下面這個函數很好的解決了這個問題
<?php
/*
*
*函數功能:計算兩個以YYYY-MM-DD為格式的日期,相差多少天(日)
*return int
*/
function getChaBetweenTwoDate($date1,$date2){
$Date_List_a1=explode("-",$date1);
$Date_List_a2=explode("-",$date2);
$d1=mktime(0,0,0,$Date_List_a1[1],$Date_List_a1[2],$Date_List_a1[0]);
$d2=mktime(0,0,0,$Date_List_a2[1],$Date_List_a2[2],$Date_List_a2[0]);
$Days=round(($d1-$d2)/3600/24);
return $Days;
}
使用方法如下:
echo getChaBetweenTwoDate('2012-11-20','1949-10-16');
以上代碼執行結果將顯示為:
23046
意思即這兩個日期相差 23046 天。
㈨ php怎樣計算時間差
//PHP計算兩個時間差的方法
$startdate="2010-12-11 11:40:00";
$enddate="2012-12-12 11:45:09";
$date=floor((strtotime($enddate)-strtotime($startdate))/86400);
$hour=floor((strtotime($enddate)-strtotime($startdate))%86400/3600);
$minute=floor((strtotime($enddate)-strtotime($startdate))%86400/60);
$second=floor((strtotime($enddate)-strtotime($startdate))%86400%60);
echo $date."天<br>";
echo $hour."小時<br>";
echo $minute."分鍾<br>";
echo $second."秒<br>";
希望可以採納,謝謝。