很多站长朋友们都不太清楚php里日期对比,今天小编就来给大家整理php里日期对比,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 PHP,求日期的比较方法 2、 mysql php 日期比较 3、 请问PHP中当前日期与字段日期比较 4、 php实现比较两个字符串日期大小的方法 5、 如何用php读取date的日期与当前日期进行比较 PHP,求日期的比较方法把它格式化成"2008-11-24"这样的格式保存到$date_str里,然后 strtotime($date_str)<time(),中间可以用大于小于号进行比较.
mysql php 日期比较MYSQL有日期函数now(),这个值返回的不是时间戳,而是类似2010-10-1 12:12:12类似的,
PHP有日期函数date(),date("Y-m-d",time())返回当前的时间,如果单纯用time(),则返回的是当前时间,比方说17等数字
MYSQL日期比较
TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30;
我们的date_col必须是日期时间格式,而不能是时间戳,
mysql> SELECT
FROM_UNIXTIME(875996580);
-> '1997-10-04 22:23:00'
day(FROM_UNIXTIME(1277709862))这个返回的是某个时间戳到现在经过的天数
获取
日:day(FROM_UNIXTIME(add_time))
获取 月:month(FROM_UNIXTIME(add_time))
获取
年:year(FROM_UNIXTIME(add_time))
sql文里面获得时间戳后格式化为日,月,年:day(now()),month(now()),year(now())
其中add_time是字段名,存放格式为linux时间戳.
mysql> set @a = unix_timestamp();
Query OK, 0 rows affected (0.00 sec)
mysql> select @a;
+------------+
| @a |
+------------+
| 1154942084 |
+------------+
1 row in set (0.00 sec)
mysql> select
from_unixtime(@a);
+---------------------+
| from_unixtime(@a) |
+---------------------+
| 2006-08-07 17:14:44 |
+---------------------+
1 row in set (0.00 sec)
请问PHP中当前日期与字段日期比较一般是用时间戳比较日期大小,当然你要是有框架的内置函数另说,不过原理一般都是时间戳
时间戳就是吧data格式的日期转成秒
strtotime('2011-6-8
22:22:22');
date("Y-m-d
H:i:s",1263804691);这样又回到日期
取大于24小时和400分钟
(strtotime(time())
-
strtotime(k_time1))/60
这样就是相差的分钟
php实现比较两个字符串日期大小的方法本文实例讲述了php实现比较两个字符串日期大小的方法。分享给大家供大家参考。具体如下:
<?php
function
dateBDate($date1,
$date2)
{
//
日期1是否大于日期2
$month1
=
date("m",
strtotime($date1));
$montstrong
=
date("m",
strtotime($date2));
$day1
=
date("d",
strtotime($date1));
$day2
=
date("d",
strtotime($date2));
$year1
=
date("Y",
strtotime($date1));
$year2
=
date("Y",
strtotime($date2));
$from
=
mktime(0,
0,
0,
$month1,
$day1,
$year1);
$to
=
mktime(0,
0,
0,
$montstrong,
$day2,
$year2);
if
($from
>
$to)
{
return
true;
}
else
{
return
false;
}
}
?>
$date1
=
"2009-10-13";
$date=
mktime(0,
0,
0,
date("m",
strtotime($date1)),
date("d",
strtotime($date1)),
date("Y",
strtotime($date1)));
最终取得一个日期的
Unix
时间戳$date=1255392000。
很多时候做搜索的时候,搜索的时间不能大于当前日期,比较函数的写法大致和上面一个函数相同,具体如下:
function
dateBCurrent($date){
//日期是否大于当前日期
$currentDate=date("Y-m-d");
//获取当前日期
$cYear=date("Y",strtotime($currentDate));
$cMonth=date("m",strtotime($currentDate));
$cDay=date("d",strtotime($currentDate));
$year=date("Y",strtotime($date));
$month=date("m",strtotime($date));
$day=date("d",strtotime($date));
$currentUnix=mktime(0,0,0,$cMonth,$cDay,$cYear);
//当前日期的
Unix
时间戳
$dateUnix=mktime(0,0,0,$month,$day,$year);
//待比较日期的
Unix
时间戳
if($dateUnix<=$currentUnix){
return
true;
}else{
return
false;
}
}
希望本文所述对大家的php程序设计有所帮助。
如何用php读取date的日期与当前日期进行比较解决方案 »
PHP 时间比较用 UNIX 时间戳 最方便了呀
你取出的时间是什么格式?
你先用个函数转化时间格 统一UNIX时间戳 就能简单的比较大小了
$monDay ='2004/01/02';
$todate ='2004/01/01';
if(strtotime($monDay)>strtotime($todate)){
echo('结束了');
}
建议楼主存储unix时间戳,到时候也不用mktime,直接比较时间戳的大小即可!<?
$fromdete = "2009-04-20";
$a=explode('-',$fromdete);$c=mktime(0,0,0,$a[1],$a[2],$a[0]);
$b=time();
if($b<$c)
{
echo '对不起,本次比赛活动投稿即将开始,敬请关注';
}
?>
关于php里日期对比的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php里日期对比 php日期格式转换的详细内容...