你真的了解strtotime('X month')吗】的更多相关文章

经常会有人被strtotime结合-1 month, +1 month, next month的时候搞得很困惑, 然后就会觉得这个函数有点不那么靠谱, 动不动就出问题. 用的时候就会很慌… 今天是2018-08-31 执行代码: date("Y-m-d",strtotime("+1 month")) 怎么输出是2018-10-01? 虽然这个问题看起来很迷惑, 但从内部逻辑上来说呢, 其实是”对”的date内部的对于这种事情的处理逻辑: 先做-1 month, 那么…
php: +1天, +3个月, strtotime():  +1 day, +3 month 比如,我现在当前时间基础上+1天: strtotime("+1 day"); 比如我现在,2014-05-01时间上 + 3个月 $s = strtotime("2014-05-01"); $d = strtotime("+3 month", $s);…
使用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…
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…
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 $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 />";/…
我们在日常业务中,针对业务量,经常会采用对数据库按时间做横向分表,分表后的查询往往会涉及到时间问题.例如,我们想查询某个用户距离当前时间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? 从文档来看, 以下的代码并不能得出正确的上一个自然月或者下一个自…
一年之前 <?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'); ?> 七天之后 <…
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…
下面简单介绍在项目开发中date时间函数和strtotime所遇到的问题,以及解决办法. 原文地址:小时刻个人技术博客 > http://small.aiweimeng.top/index.php/archives/strtotime.html 在项目中经常会用到时间查询,根据时间范围去查找数据.下面简单介绍一下在项目中我遇到的问题:在搜索栏中有这么几个选项,```今天,昨天,最近7天,上一月```,通过这几个时间查出不同数据,但是项目中使用strtotime的时候一般出现问题,eg:我在11-…
经常会有人被strtotime结合-1 month, +1 month, next month的时候搞得很困惑, 然后就会觉得这个函数有点不那么靠谱, 动不动就出问题. 用的时候就会很慌… 比如:今天是2018-07-31 执行代码: date("Y-m-d",strtotime("-1 month")) 输出是2018-07-01 好的吧, 虽然这个问题看起来很迷惑, 但从内部逻辑上来说呢, 其实是”对”的, 你先别着急哈, 让我慢慢讲: 我们来模拟下date内部…
date_default_timezone_set('PRC'); //默认时区 //当前的时间增加5天 $date1 = "2014-11-11"; echo date('Y-m-d',strtotime("$date1 +5 day"));  //输出结果:2014-11-16 //相应地,要增加月,年,将day改成month或year即可     //+++ 今天.昨天.明天 .上一周.下一周 +++++++++ echo "今天:",da…
我在开发过程中遇到这么这个问题,因为赶进度,没有记下来处理方案,在鸟哥的博客看到原理分析,很到位!平时开发中总是急着处理问题,没有深入分析和记录问题. 1.问题: 今天是2018-07-31 执行代码:date("Y-m-d",strtotime("-1 month"))输出是2018-06-01? 2.分析: 先做-1 month, 那么当前是07-31, 减去一以后就是06-31. 再做日期规范化, 因为6月没有31号, 所以就好像2点60等于3点一样, 6月3…
需求:最近get了一个很好用的PHP关于时间的函数strtotime,因为最近有个项目涉及到很多时间段(今天,昨天,本周,上周,本月,上月,总)的查询,要根据指定时间算出它每个范围的开始时间和结束时间 函数介绍:strtotime() 函数将任何英文文本的日期或时间描述解析为 Unix 时间戳(看着就很牛逼,不信看下面代码) 语法:strtotime(time,now); 参数 描述 time 必需.规定日期/时间字符串. now 可选.规定用来计算返回值的时间戳.如果省略该参数,则使用当前时间…
strtotime('+1 month'),strtotime('-1 month')  碰到一个月中有28, 31天的就会有问题, 比如 strtotime('+1 month', strtotime('2019-10-31')) 就会跳到 12月份去,而不是11月份: 所以一般要用 strtotime('last day of +1month') 或者 strtotime('first day of +1 month')…
时间戳(年月日时分秒)  使用strtotime函数,结合+1 month,-1 month,next month,last month的时候会出现一些问题. demo示例: //时间"2018-10-16 12:00:00"增加一个月 $timeOne = strtotime("2018-10-16 12:00:00"); echo date("Y-m-d H:i:s", strtotime("+ 1 month", $ti…
经常会有人被strtotime结合-1 month, +1 month, next month的时候搞得很困惑, 然后就会觉得这个函数有点不那么靠谱, 动不动就出问题. 用的时候就会很慌… 这不, 刚刚就有人在微博上又问我: 鸟哥,今天是2018-07-31 执行代码: date("Y-m-d",strtotime("-1 month")) 怎么输出是2018-07-01? 好的吧, 虽然这个问题看起来很迷惑, 但从内部逻辑上来说呢, 其实是”对”的, 你先别着急哈…
为了巩固自己的基础提升自己的技术.花了一晚上的时间结合w3c上的非常基础的东西,和自己的部分见解,写了不少,望大神们指正,指导.. <?php /* 这段话必须要写在开篇啊!死老猫,你又刺激我!不过认识你非常棒!不认识你我就不受刺激就不会知道自己有多傻逼!益友!谢谢你这么久的关照!还有你丫别考研了.你在考研我....专科生怎么混???2014-03-08 06:03:07 date_default_timezone_set('PRC'); echo date("Y-m-d");/…
开发环境 Yii1版本 MySQL PHP5.6.27 前言 物流规则匹配日志表记录订单匹配规则相关日志信息,方便管理员维护和查阅不匹配的订单,四个月时间,该日志表数据就有174G,当前,这么大的数据量,不仅对数据库造成了很大的负载压力,同时查询等维护也缓慢,所以采取将日志记录移出到文件进行存储.但是短期内,还需要数据库中的部分日志记录,故而有了下面的删除记录.优化表操作. 日志表大小一览 表本身有六七百万条数据,从六七百万删到五百多万,发现数据占用空间大小一点也没变,如下图所示.网上查到需要释…
正常来说,PHP是有一个很方便的函数可以获取上个月时间的 strtotime (PHP 4, PHP 5, PHP 7) strtotime - 将任何英文文本的日期时间描述解析为 Unix 时间戳 说明 ¶ int strtotime ( string $time [, int $now = time() ] ) 今天是2016-10-31日,所以strtotime('-1 month'),应该是9月30日 echo date('Y-m-d',strtotime('-1 month')); 可…
面试的时候有一道题是这样的:封装一个函数实现,给你一个时间,输出这个时间的对应的这一天是星期几,其实无非就是一些时间格式的处理: date_default_timezone_set('PRC'); //默认时区 $t = time(); $today=date("Y-m-d",time()); echo "今天:$today<br />"; echo "某一天:".date("Y-m-d",strtotime(&q…
<?php /** * php 获取时间(今天,昨天,三天内,本周,上周,本月,三年内,半年内,一年内,三年内) * * author:ihelloworld2010@gmail.com * date:2012-06-28 16:00:01 */ $q = $_GET['q'] ? intval($_GET['q']) : 0; $text = ''; $now = time(); if ($q === 1) {// 今天 $text = '今天'; $beginTime = date('Y-m…
date_default_timezone_set('PRC'); //默认时区 //当前的时间增加5天 $date1 = "2014-11-11"; echo date('Y-m-d',strtotime("$date1 +5 day")); //输出结果:2014-11-16 //相应地,要增加月,年,将day改成month或year即可 //+++ 今天.昨天.明天 .上一周.下一周 +++++++++ echo "今天:",date(&q…
<?php date_default_timezone_set('PRC'); //默认时区 echo "今天:",date("Y-m-d",time()),"<br>"; echo "今天:",date("Y-m-d",strtotime("18 june 2008")),"<br>"; echo "昨天:",dat…
文章出处 : Qiita - http://qiita.com/shoridevel/items/0a2f4a64e55d84919a1c 今月の月初 echo date("Y-m-01", time()); 今月の月末 echo date("Y-m-t", time()); 前月の月初 /* echo date("Y-m-01",strtotime("-1 month")); */ 訂正 $now = strtotime(&…
最近学习php循环.日期显示.GET方式请求,进而实现了一个小程序. 直接上代码: <?php header("Content-type:text/html; charset=UTF-8"); echo ' <html> <head> <title>万年历</title> <script type="text/javascript"> function startTime() { var today=…
2016年11月1日 16:18:19 星期二 主要用到的函数是 strtotime() strtotime('+1 Tuesday', $timestamp) 获取下周二, 从时间戳$timestamp开始计算, 如果$timestamp留空, 则从当天开始计算 strtotime('+1 month', $timestamp) 获取下个月的x号, 还是以$timestamp开始计算的 /** * desc 获取每周X执行的所有日期 * @param string $start 开始日期, 2…
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 strtotime(date('Y-m-d')),'';echo date('Y-m-d H:i:s',strtotime(date('Y-m-d')));…