php字符串时间
‘壹’ php文件中,一个字符串最长可以有多长
你说的是php的变量能存多少范围吧?比如
$str='IamChinese';
一般来说,php不限制变量的长度
你可以打开你的php.ini,里面有这样的配置语句:(我用的mssql数据库,就拿它举例吧)
; Valid range 0 - 2147483647.Default = 4096.
;mssql.textlimit = 4096
; Valid range 0 - 2147483647.Default = 4096.
;mssql.textsize = 4096
可见php确实对变量大小没有限制(2G的限制目前确实可以视为不存在),只是在默认的配置下被限制到了4096字节,亦即2048个汉字。
如果你想增大php的变量最大字节的话,可以在php.ini中修改以下代码:
ini_set("mssql.textsize",200000);
ini_set("mssql.textlimit",200000);
‘贰’ php实现比较两个字符串日期大小的方法
本文实例讲述了php实现比较两个字符串日期大小的方法。分享给大家供大家参考。具体如下:
<?php
function
dateBDate($date1,
$date2)
{
//
日期1是否大于日期2
$month1
=
date("m",
strtotime($date1));
$month2
=
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,
$month2,
$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正则匹配字符串中是否有日期数据
不觉得长的话,我写一个:
<?php
$preg='/(?:19|20)?(?:[0-9]{2})?(?:-|\s|\/|.|年)?(?:0[1-9]|1[012])(?:-|\s|\/|.|月)(?:0[1-9]|[12][0-9]|3[01])(?:日)?\s?(?:[01][0-9]|2[1-4])?:?(?:[0-6]?[0-9])?:?(?:[0-6]?[0-9])?/i';
$str='2012/02/02 12:12:12开始大幅拉萨拦薯大家12:01舍得离开房间。
开始大幅拉萨大家2012年02月02日 12:12舍得离开2012年02月02日房间2012-02-02';
echo '有'.preg_match_all($preg, $str, $rr).'个时间数据';
printf("<p>输出时间数耐困据为:</p><pre>简亩者%s</pre>\n",var_export( $rr ,TRUE));
?>
‘肆’ php从一串字符串中用正则提取出年月日
d{4}/d{1,2}/d{1,2}
如果你不是要求很严谨去判断日期的正确性的话,上面这个就足够了.
‘伍’ php将字符串“201409161025”转换成日期时间格式“2014/09/16010:25”
$a="201409161025";
echosubstr($a,0,4).'/'.substr($a,4,2).'/'.substr($a,6,2).''.substr($a,8,2).':'.substr($a,10,2);
这样是最简单易懂的。