strtotime 的几点不同】的更多相关文章

使用strtotime可以将各种格式的时间字符串转换为时间戳 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 转换常规时间格式 echo date('Y-m-d H:i:s', strtotime('2016-01-30 18:00')).PHP_EOL; echo date('Y-m-d H:i:s', strtotime('20160130180001')).PHP_EOL;   转换自然时间描述 //昨天 echo date('Y-m-d H:i:s', st…
最近在做一个游戏数据统计后台,最基础的功能是通过分析注册登录日志来展示用户数据.在公司内部测试,用户量很少,所以就没有发现什么性能问题.但是这两天一起放到真实的测试环境,用户量噌噌地就涌进来了,从下午开始,在线人数的统计开始卡,几秒钟才返回数据:注册人数的查询速度还行.到了晚上,在线人数的统计基本上就加载超时打不开了.虽然不知他们游戏端那边什么BUG,玩家那边登录经常出问题,导致在线人数和注册人数并不是很多.但是就这一点数据量我这边查询的速度也不行,这就很尴尬了. 现在他们那边在查游戏的BUG,…
php strtotime 在32位操作系统下的限制 <?php class DateHelper{ /** * 在32位操作系统下,超过 2038-01-19 03:14:07 ,会溢出 * @param unknown $time * @return number */ public static function strtotimeUnsafe($time){ return strtotime($time); } /** * 安全的方式 * @param unknown $time * @…
最近项目中有个需求, 要记录新注册用户的次日登录情况, 于是写出了如下代码: $create_time = '用户注册时间'; //格式 Y-m-d H:i:s $time = time(); $lasttime = date('Y-m-d H:i:s', $time); $current_day = floor($time / 86400); $create_day = floor( strtotime($create_time) / 86400 ); $days = $current_day…
今天需要将一个基于MS SQL数据库的新闻系统数据导入phpcms v9,源系统新闻日期格式为"2014-01-15 10:45:49",而phpcms中使用的是整型时间戳,在php中很简单,用strtotime()即可:在C#中,需要自己写函数,步骤如下: 步骤1.先计算phpcms中时间戳所用基准时间: 1 TimeSpan ts = new TimeSpan(0,0,0,1389753949); 2 DateTime now = Convert.ToDateTime("…
首先,需要看你的php时区配置参数 方式1:更改php配置文件,然后从其fast-cgi或者php调用的地方: 方式2:date_default_timezone_set('PRC'); date函数用于日期函数的获取,这里需要注意的,date得到的我们可以理解为概念时间,跟地区有关系.如北京时间和伦敦时间同一个时刻对应不同的时间有8小时的时差,北京时间早8小时. time和strtotime得到的是物理时间,不存在和地区的联系,全球统一. 在项目有需要计算1970开始的第几天,这里就出现了问题…
UNIX纪元时间又称POSIX时间/新纪元时间(Epoch Time):从协调世界时1970年1月1日0时0分0秒起到现在的总秒数,不包括闰秒.正值表示1970以後,负值则表示1970年以前. Unix 2038 bug(Y2K38漏洞) 又称 Unix Millennium Bug,此漏洞将会影响到所有 32 位系统下用 UNIX 时间戳整数来记录时间的 PHP,及其它编程语言.一个整型的变量所能保存的最大时间为 2038 年01月19 日 03:14:07.超过这个时间后,整型数值将会溢出.…
date_default_timezone_set('Asia/Shanghai');echo strtotime('Today');echo strtotime(date('Y-m-d')); 获取明天凌晨的时间戳 代码:echo strtotime(date('Y-m-d',strtotime('+1 day'))); 附上测试代码: echo strtotime('2012-11-2'); echo strtotime('2012-11-2 00:00:00'); echo strtoti…
PHP语言原理:先把代码显示在源代码中,再通过浏览器解析在网页上 a. 1.substr;  //用于输出字符串中,需要的某一部分 <?PHP $a="learn php"; echo substr($a,4,3)  //其中参数"4"表示的是起始位置,参数"3"表示的是要输出的字符串的总长度 ?> 输出结果将是:   n p 2.trim;  //用于删除字符串两段的空白字符,和指定的字符 <?php $a="lea…
time()得到的数值是1970-1-1到现在的秒数,strtotime("now")也是,两个值是相同的. http://doc.thinkphp.cn/manual/system_process.html thinkphp学习 header('Content-Type:text/html;charset=utf-8'); echo "今天:".date("Y-m-d")."<br>"; echo "昨…
先看例子 代码如下 复制代码 <?php $time = date('Y-m-d',strtotime('00-00-00 00:00:00')); echo $time; //输出 1999-11-30 ?> 这里没有任何bug,00-00-00的意思是2000-00-00,2000-00-00实际上是1999-12-00,而1999-12-00又会转换成1999-11-30.所以这里没有任何bug,完全正常.www.111cn.net strtotime('00-00-00 00:00:0…
在PHP中有个叫做strtotime的函数.strtotime 实现功能:获取某个日期的时间戳,或获取某个时间的时间戳.strtotime 将任何英文文本的日期时间描述解析为Unix时间戳[将系统时间转化成unix时间戳] 一,获取指定日期的unix时间戳 strtotime("2009-1-22") 示例如下: 1.echo strtotime("2009-1-22") 结果:1232553600 说明:返回2009年1月22日0点0分0秒时间戳 二,获取英文文本…
在某些参考资料中是说这两个方法任选其一就可,但经我测试,必须两个方法同时使用,才不会再出现错误提示 PHP Warning: strtotime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used an…
今天写程序的时候,突然发现了很早以前写的获取月份天数的函数,经典的switch版,但是获得上月天数的时候,我只是把月份-1了,估计当时太困了吧,再看到有种毛骨悚然的感觉,本来是想再处理一下的,但是一想肯定还有什么超方便的方法,于是找到了下面这个版本,做了一点小修改. 获取本月日期: function getMonth($date){ $firstday = date("Y-m-01",strtotime($date)); $lastday = date("Y-m-d"…
今天写程序的时候,突然发现了很早以前写的获取月份天数的函数,经典的switch版,但是获得上月天数的时候,我只是把月份-1了,估计当时太困了吧,再看到有种毛骨悚然的感觉,本来是想再处理一下的,但是一想肯定还有什么超方便的方法,于是找到了下面这个版本,做了一点小修改. 获取本月日期: 复制代码代码如下: function getMonth($date){     $firstday = date("Y-m-01",strtotime($date));     $lastday = dat…
原文出处 <?php $date = "2012-07-31"; $date_unix = strtotime($date); $lastmonth = strtotime("last month",$date_unix);//或者strtotime("-1 month",$date_unix); echo date("Y-m-d H:i:s",$lastmonth)."<br />";/…
遇到过一种情况strtotime 在本地和服务器不相同 服务器返回的是-1 strtotime($sa_sagyo_ymd."23:59:59") 如果这样用不了,就只能换一种写法 list($yyyy,$mm,$dd) = split("-",$sa_sagyo_ymd); mktime(23,59,59,$mm,$dd,$yyyy) 这样的是可以通用的.…
在php里面,strtotime()有点比较特殊,date函数也有点问题 if ( date(1,time()) == "Monday")    //似乎 date(1,time())的返回值永远都是1,而不可能是Monday,不知道何解. ... 经本地测试 date(2,time())  date(3,time())  ...都显示的是对应的数字2,3,... 所以这点暂不明白,请求大神帮助. 再来说说strtotime()函数,这个函数,我个人总结: strtotime(last…
我们在日常业务中,针对业务量,经常会采用对数据库按时间做横向分表,分表后的查询往往会涉及到时间问题.例如,我们想查询某个用户距离当前时间1个月的订单情况,在这个时候,我们有些会用到strtotime()函数去处理. 但是使用strtotime(),需要非常谨慎.我们先看一段代码,代码目的是想拿到几个月以前的年份月份,例如今天是2014年8月1号,我想拿到2个月前的年份月份是 array("0"=>"201406", "1"=>&quo…
strtotime不仅可以使用类似Y-m-d此类标准的时间/日期字符串来转化时间戳, 还可以用类似自然语言的来生成时间戳, 类似: strtotime('last day'); strtotime('first day'); strtotime('+1 day'); strtotime('-1 week'); 对于day和week这种标准大小的时间来说没什么歧义, 但对month这种就很难说了, 到底是+30还是+31甚至是29? 从文档来看, 以下的代码并不能得出正确的上一个自然月或者下一个自…
(转载)http://www.jb51.net/article/21495.htm strtotime函数是一个很好的函数,灵活的运用它,会给你的工作带来不少方便.但PHP的手册中却对此函数的参数没作太多介绍,对些函数的其他介绍也非常少. 先看手册介绍: strtotime — 将任何英文文本的日期时间描述解析为 Unix 时间戳 格式:int strtotime ( string $time [, int $now ] )  本函数预期接受一个包含美国英语日期格式的字符串并尝试将其解析为 Un…
在php中我想要获取时间戳有多种方法,最常用的就是使用time函数与strtotime()函数把日期转换成时间戳了 获取指定的年月日转化为时间戳:pHP时间戳函数获取指定日期的unix时间戳 strtotime('2012-12-7') <?php echo strtotime('2012-12-7'); //结果:1354838400 ?> 说明:返回2012年12月7日0点0分0秒时间戳. 将当前年月日转化为时间戳:PHP时间戳函数获取当前日期的unix时间戳,示例如下: <?php…
有三种解决办法: 1. php文件中设置时区 <?php date_default_timezone_set('Asia/Shanghai'); echo strtotime('2012-9-3'); ?> 2. 设置php.ini data.timezone = "Asia/Shanghai" 3. 设置date_timezone.ini date.timezone = "Asia/Shanghai" 如果使用zend server ,在 Server…
今天客户反映有个功能投票模块第一天投了后,第二天就不能投了,理论上是第二天凌晨就可以再答题的,发现本地是正常的,linux服务器异常, 仔细查找原因发现是strtotime函数获取的值和本地获取的值不一致,离真实的值小了8小时,网上查找资料才知道,是strtotime()里面的时间格式的问题,需要是UTCO的格式: 在linux服务器php的strtotime的正确使用方法是:strtotime(date("Y-m-d H:i:s")."Z");…
strtotime (PHP 4, PHP 5, PHP 7)strtotime - 将任何英文文本的日期时间描述解析为 Unix 时间戳说明 int strtotime ( string $time [, int $now = time() ] ) 本函数预期接受一个包含美国英语日期格式的字符串并尝试将其解析为 Unix 时间戳(自 January 1 1970 00:00:00 GMT 起的秒数),其值相对于 now 参数给出的时间,如果没有提供此参数则用系统当前时间. 本函数将使用 TZ…
一年之前 <?php echo strtotime('-1 year'); ?> 一年之后 <?php echo strtotime('+1 year'); ?> 一月之前 <?php echo strtotime('-1 month'); ?> 一月之后 <?php echo strtotime('+1 month'); ?> 七天之前的时间戳(当前时间) <?php echo strtotime('-7 days'); ?> 七天之后 <…
warning: strtotime(): It is not safe to rely on the system's timezone settings warning: strtotime(): It is not safe to rely on the system's timezone settings出现这个错误的原因,主要是因为php.ini里面的时区没有进行设置,可以设置一下,例如:vi /etc/php.ini然后找到timezone将时区设为,例如:Asia/Shanghai…
date():格式化一个本地时间或者日期,当前时间 2016年5月13日 15:19:49 使用函数date(),输出当前是月份中的第几天,参数:String类型 d 例如:echo date("d"); 输出 13 使用函数date(),输出当前是星期中的第几天,参数:String类型 D或者 N 例如:echo date("D"); 输出 Fri echo date("N"); 输出 5 echo date("l"); 输…
1.上个月第一天及最后一天. echo date('Y-m-01', strtotime('-1 month')); echo strtotime(date('Y-m-01 0:00:00', strtotime('-1 month'))); //月初第一天时间戳 echo "<br/>"; echo date('Y-m-t', strtotime('-1 month')); echo "<br/>"; 2.获取当月第一天及最后一天. $Be…
最近在开发一个订单查询模块的时候,想当然的写了个2099年的日期,结果PHP返回了空值,肯定是发生溢出错误了,搜索了网上,发现下面这篇文章,但是我的问题依然没有解决,要怎么得到2038年以后的时间戳呢? 我综合了网上的资料,写了以下测试代码,应该可以解决这个问题了: 我的测试环境是:Win7 64位,PHP环境是:PhpStudy PHP5.5n <?php echo 'PHP中正整形常量的最大值[PHP_INT_MAX]:'.PHP_INT_MAX.'<br>'; echo 'PHP_…