Ⅰ php 里如何进行时间比较
php比较时间一般都是变成时间戳去比较的。
使用函数strtotime函数把时间变成时间戳。
比如:
把2015年7月8日和2015年9月30日进滚败困行比较。
//两个大念时间点相差多少秒钟
$sub=strtotime("2015-07-08"枯梁)-strtotime("2015-07-08");
Ⅱ PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)
本文实例讲述了PHP日期与时间操作技巧。分享给大家供大家参考,具体如下:
Demo1.php
<?php
//验证时间
//checkdate()
1.月份
2.日
3.年
//checkdate()
判断这个日期是否是合法的日期
//不合法的日期,试一试
if(checkdate(7,16,2010)){
echo
'这个日期是合法有效的';
}else{
echo
'这个日期是非法的。';
}
?>
Demo2.php
<?php
//date
--
格式化一个本地时间/日期
//date(),
彻底研究一下
//date()
可以存放两个参数,第一参数是日期和时间的格式化,[第二参数是时间戳]
//Y
表示四位数的年份,
y表示二位数的年份
//M
表示英文的月份缩写,m
表示阿拉伯数字的月份
//D
表示英文下的星期几缩写,d
表示阿拉伯数字的日
//第一个参数的格式化可以放一些无关紧要的字符串
//只要无关紧要的字符串不再
format
的目录里,就不会被识别
//echo
date('现在的日期是:Y-m-d');
//现在的日期是:2015-04-20
//时分秒
=
H
表示24小时制的小时,
//明明是
19
,为什么显示
11
点呢,东八区,差
8
个小时
//现在没有经过任何设置,所以时间在默认时区上
//echo
date('现在的日期是:Y-m-d
H:i:s');
//重点是年月日,时分秒
echo
date('r');
echo
date('现在的日期是:Y-m-d
H:i:sa');
?>
Demo3.php
<?php
//取得当前的时间,返回一个数组
//"sec"
-
自
Unix
纪元起的秒数
//"usec"
-
微秒数
//"minuteswest"
-
格林威治向西的分钟数
//"dsttime"
-
夏令时修正的类型
//print_r(gettimeofday());
//第一数组的元素就是时间戳
//gettimeofday()
就是取得的当前时间的时间戳
//$a
=
gettimeofday();
//sec
取得当前时间的时间戳
//转换成人可以看得懂的时间
//第二个参数,对于本例来讲,放与不放,是一样的。
//echo
date('Y-m-d
H:i:s',$a['sec']);
print_r(gettimeofday(0));
echo
gettimeofday(1);
?>
Demo4.php
<?php
//将时间戳转换成人可以看的懂的时间
//date()
函数的第二个参数就是时间戳
//如果第二个参数省略了,那么就返回当前时间
//如果第二个参数没有省略,那么就返回那个时间戳的时间
echo
date('Y-m-d
H:i:s',24554457865);
?>
Demo5.php
<?php
//getdate()
也可以转换时间戳
//print_r(getdate());
//Array
(
[seconds]
=>
26
[minutes]
=>
34
[hours]
=>
10
[mday]
=>
20
[wday]
=>
1
[mon]
=>
4
//[year]
=>
2015
[yday]
=>
109
[weekday]
=>
Monday
[month]
=>
April
[0]
=>
1429526066
)
$t
=
getdate();
echo
$t['year'];
//传递一个时间戳
print_r(getdate(1029526066));
?>
Demo6.php
<?php
//直接获取当前时间戳
//echo
time();//1429526328
//这个
time()
可以调整时间
//大家可以发现
time()
很有用处,可以过去现在和将来
echo
date('Y-m-d
H:i:s',time()+60*60*8);
?>
Demo7.php
<?php
//获取特定指定时间的时间戳
//这是当前的时间戳
//echo
time();
//我要取得
2008-08-08
08:08:08
$beijing2008
=
mktime(8,8,8,8,8,2008);
echo
date('Y-m-d
H:i:s',$beijing2008);
?>
Demo8.php
<?php
//使用时间戳计算时间差
$now
=
time();//当前的时间戳
$wnow
=
mktime(0,0,0,8,16,2016);
//两个时间戳相减可以得到差秒
echo
round(($wnow
-
$now)/60/60,2).'相差这几个小时';
?>
Demo9.php
<?php
//将人可读的时间,字符串形式,转换成时间戳
$a
=
strtotime('2010-7-16
15:15:15')-strtotime('2010-7-16
15:14:15');
if($a
>=
60){
echo
'请这位先生休息一会。';
}else{
echo
$a;
}
?>
Demo10.php
<?php
//获取当前文件的修改时间戳
echo
date('Y-m-d
H:i:s',getlastmod());
?>
Demo11.php
<?php
//配置系统环境变量
echo
date('Y-m-d
H:i:s');
echo
'<br/>';
//我开始设置时区
putenv('Tz=Asia/Shanghai');
echo
date('Y-m-d
H:i:s');
?>
Demo12.php
<?php
//putenv('Tz=Asia/Shanghai');
//获取当前时区
echo
date_default_timezone_get();
echo
'<br/>';
//开始配置默认时区
date_default_timezone_set('Asia/Shanghai');
echo
date('Y-m-d
H:i:s')
;
echo
'<br/>';
echo
date_default_timezone_get();
?>
Demo13.php
<?php
date_default_timezone_set('Asia/Shanghai');
//"tm_sec"
-
秒数
//"tm_min"
-
分钟数
//"tm_hour"
-
小时
//"tm_mday"
-
月份中的第几日
//"tm_mon"
-
年份中的第几个月,从
0
开始表示一月
//"tm_year"
-
年份,从
1900
开始
//"tm_wday"
-
星期中的第几天
//"tm_yday"
-
一年中的第几天
//"tm_isdst"
-
夏令时当前是否生效
print_r(localtime(time(),true));
//Array
(
[tm_sec]
=>
37
[tm_min]
=>
15
[tm_hour]
=>
19
//[tm_mday]
=>
20
[tm_mon]
=>
3
[tm_year]
=>
115
//[tm_wday]
=>
1
[tm_yday]
=>
109
[tm_isdst]
=>
0
)
?>
Demo14.php
<?php
//返回时间戳和微秒数
//怎么计算页面运行加载时间
//页面打开的时候获取一个时间
//页面结束的时候获取一个时间
//用结束的时间减去打开的时间,那么就是运行时间
//
list($a,$b)=explode('
',microtime());
//
echo
$b;
function
fn(){
list($a,$b)=explode('
',microtime());
return
$a+$b;
//返回出精确的秒数
}
//在页面打开的时候,获取一个时间
$start_time
=
fn();
for($i=0;$i<10000000;$i++){
//
}
//页面结束的时候,获取一个时间
$end_time
=
fn();
echo
round(($end_time
-
$start_time),4);
?>
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php日期与时间用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
Ⅲ 怎样用php实现两个时间相减,得到相差的天数
<?php
$time1 = mktime(10,20,30,2,5,2000); //2000-2-5 10:20:30
$time2 = mktime(18,30,20,5,2,2000); //2000-5-2 18:30:20
$diff = (int)(($time2-$time1)/(24*3600));
echo "$time2 和 $time1 的时间差为:" . $diff . "天<br>";
?>
Ⅳ php 时间加减
<?php
echo "今天:",date('Y-m-d H:i:s'),"<br>";
echo "明天:",date('Y-m-d H:i:s',strtotime('+1 day'));
?>
上一行输出当前时间,下一行输出明天时间
这里+1 day
可以修改参数1为任何想需要的数 day也可以改成year(年),month(月),hour(小时),minute(分),second(秒)
如
date('Y-m-d H:i:s',strtotime("+1 day +1 hour +1 minute");
可以随便自由组合,以达到任意输出时间的目的
注:该方法之针对1970年以后试用,也就是时间戳的适用范围。
php 常用日期相函数[日期加减,两日期之差,日期转换时间截]
下面这些代码是一些常用的日期处理函数了,可以两个时间的日期加减,两日期之差,日期转换时间截等。
echo date('Y-m-d',strtotime('+1 d',strtotime('2009-07-08')));//日期天数相加函数
echo date("Y-m-d",'1246982400');
echo '<br>';
echo date("Y-m-d",'1279123200');
die();
$d = "2009-07-08 10:19:00";
echo date("Y-m-d",strtotime("$d +1 day")); //日期天数相加函数
function dateToTime($d)//把日期转换成时间堆截
{
$year=((int)substr("$d",0,4));//取得年份
$month=((int)substr("$d",5,2));//取得月份
$day=((int)substr("$d",8,2));//取得几号
return mktime(0,0,0,$month,$day,$year);
}
/*
下面函数计算两日期之差
*/
$Date_1="2009-07-08";
echo $Date_1+1;
$Date_2="2009-06-08";
$Date_List_a1=explode("-",$Date_1);
$Date_List_a2=explode("-",$Date_2);
$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);
echo "两日期之前相差有$Days 天";
Ⅳ php中两个时间如何相减
//可以先将时间转化为时间戳进行加减,然后在转化为时间
$a=date('H:i:s');
$b=date('H:i:s',strtotime('+50second'));
$aa=strtotime($b)-strtotime($a);
echodate('H:i:s',$aa);
Ⅵ php中两个时间相减怎么得到年数
使用格式化日期函数:date()
如:
有以下两个时间戳,把时间戳转换成年后相减再取绝对值:
$a= date('Y',1440700835);
$b= date('Y',1121720835);
echo abs( $a - $b) ;
Ⅶ php 时间加减问题,比如我的时间:$date_t=$_post[date_t] 我需要输出这个时间的二天,或者加一天,怎么写
这个,你要知道,时间戳的概念不??
php读取的时候就是用时间戳的。
$time = time();
这个代码实现的就是 获取当前的时间戳,如果你要根据本地的时间再加上2天或1天的话,
可以用js的函数解读时间戳。
//功能:检查日期格式是否是有效格式
function checkIsValidDate(str)
{
if(str == "") //如果参数为空,则返回false
return false;
var arrDate = str.split("-"); //把参数用split函数分割成数组,它等同与PHP中的explode函数
if(parseInt(arrDate[0],10) < 100) //如果年份小于100,则表示是21世纪
arrDate[0] = 2000 + parseInt(arrDate[0],10) + "";
var date = new Date(arrDate[0],(parseInt(arrDate[1],10) -1)+"",arrDate[2]); //格式化为日期格式
if(date.getYear() == arrDate[0] //判断格式化后日期的年,月,日是否和参数的相等,相等则是有效格式
&& date.getMonth() == (parseInt(arrDate[1],10) -1)+""
&& date.getDate() == arrDate[2])
return true;
else
return false;
}
//功能:检查开始时间是否小于结束日期
//参数:strStart 开始日期,strEnd 结束日期
function checkDateEarlier(strStart,strEnd)
{
if(checkIsValidDate(strStart) == false || checkIsValidDate(strEnd) == false)
return false; //检查日期格式是否有效
if (( strStart == "" ) || ( strEnd == "" )) //检查日期是否为空
return false;
var arr1 = strStart.split("-");
var arr2 = strEnd.split("-");
var date1 = new Date(arr1[0],parseInt(arr1[1].replace(/^0/,""),10) - 1,arr1[2]);
var date2 = new Date(arr2[0],parseInt(arr2[1].replace(/^0/,""),10) - 1,arr2[2]);
if(arr1[1].length == 1) //将月份格式化为08这种形式
arr1[1] = "0" + arr1[1];
if(arr1[2].length == 1) //将日格式化为08这种形式
arr1[2] = "0" + arr1[2];
if(arr2[1].length == 1) //将月份格式化为08这种形式
arr2[1] = "0" + arr2[1];
if(arr2[2].length == 1) //将日格式化为08这种形式
arr2[2]="0" + arr2[2];
var d1 = arr1[0] + arr1[1] + arr1[2]; //将开始日期组合成一个字符串
var d2 = arr2[0] + arr2[1] + arr2[2]; //将结束日期组合成一个字符串
if(parseInt(d1,10) > parseInt(d2,10)) //将两个字符串转化成整数,如果d1>d2则开始日期大于结束日期
return false;
else
return true;
}
Ⅷ 用php计算给定两个日期相差多少天
:
计算方法不只下面介绍的这些,只是一些比较常规的方法:
上面的php时间日期函数strtotime已经把字符串日期变成了时间戳,这样只要让两数值相减,然后把秒变成天就可以了,比较的简单,如下:
$days=round(($enddate-$startdate)/3600/24) ;
下面介绍另外一种方法:
上面判断的是两个日期的大小,下面则是判断生日的程序代码,得到的$n就是相距生日的天数。
$birthday=生日;
$birthday = preg_replace(‘/d+/’, Date(‘Y’), $birthday, 1);
$d = 60*60*24;
$n= floor((strtotime($birthday)-time())/$d);$n=$n+1;
还有如果相比的是现在的时间,就可以用time()函数,得到的就是现在的时间戳.
第二种情况呢,就是有数据库,这样就相对比较容易一些了!如果是MSSQL可以使用触发器!用专门计算日期差的函数datediff()计算便可!
如果是MYSQL那就用两个日期字段的时间戳值,进行计算后便可得到相差的天数了。方法和上面的代码很像。
Ⅸ 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还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
php相关语法及概念:
php 支持八种原始类型。
四种标量类型:boolean(布尔型) integer(整型) float(浮点型,也作“double”) string(字符串)
两种复合类型:array(数组)object(对象)
最后是两种特殊类型:resource(资源)NULL