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>";
希望可以采纳,谢谢。