首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

令人困惑的strtotime

经常会有人被strtotime结合-1 month, +1 month, next month的时候搞得很困惑, 然后就会觉得这个函数有点不那么靠谱, 动不动就出问题....用的时候就会很慌… 这不, 刚刚就有人在微博上又问我: 鸟哥,今天是2018-07-31 执行代码: date("Y-m-d",strtotime("-1 month")) 怎么输出是2018-07-01...好的吧, 虽然这个问题看起来很迷惑, 但从内部逻辑上来说呢, 其实是”对”的, 你先别着急哈, 让我慢慢讲: 我们来模拟下date内部的对于这种事情的处理逻辑: 1...., 都可能会有这个迷惑, 我们也可以很轻松的验证类似的其他月份, 印证这个结论: var_dump(date("Y-m-d", strtotime("-1 month", strtotime("2017...day of last month", strtotime("2017-03-31"))));////输出2017-02-28 那如果是5.3之前的版本(还有人用么?)

43820
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Solr各个版本的差异

    随着 Google 和类似的复杂搜索引擎的出现,用户希望得到高质量的搜索结果,帮助他们快速、轻易地找到所需的信息。...它易于安装和配置,而且附带了一个基于 HTTP 的管理界面。您可以坚持使用 Solr 的表现优异的基本搜索功能,也可以对它进行扩展从而满足企业的需要。...Solr版本更新很快,网上找的教程都是基于老版本,新手入坑要先了解各个版本的差异: 4.x~5.x的变化 4.x的安装方式,会分发成一个war包部署在任何Servlet容器上,这是大家都熟知的方式,在我看来未免繁琐了一点...作为一个“webapp”部署在其它Servlet容器(或者其它Jetty的实例)是不支持的,同时当有额外的变化时可能会在内部对Solr进行调整以利用自定义网络堆栈功能导致在未来5.x版本中不工作。...以后新版本就不需要转移到Tomcat上了,或许大家不死心,但是目前的新版本都是不推荐的,即使你转移成功了,后面也可能麻烦不断,你再精通,你能比得上官方吗?老弟啊,没毛病,是时候放手了。

    2.8K10

    MongoDB balancer的版本差异

    // MongoDB balancer的版本差异 // 这几天在做一个MongoDB的版本升级,升级的过程中发现了不同版本balancer的一个小差异。这里记录下。...本次升级的目的是线上一个集群从4.0.4升级到4.2.14版本。...升级方法: 在升级的过程中,利用数据同步工具,将4.0.4的分片集群数据同步到4.2.14版本的分片集群中,最后通过业务切换来实现升级。...Balancer相关操作: 同步过程中,为了加快同步的速度,在目标端关闭了4.2.14版本的balancer,相关命令是: sh.setbalancerstate(false),避免chunk搬迁导致的写入性能变差...也就是说,从4.2版本开始,开启Balancer会开启chunk的自动分裂,而关闭Balancer也会关闭chunk的自动分裂。

    70430

    Python: kafka-python版本差异导致的问题

    只要用过 docker 的童鞋,都会对 docker logs 很熟悉,这次问题就是,因为 docker 的日志狂刷,按照默认的配置,日志会全部写入 json.log,大约一小时就能刷出 2G 的日志;...于是事不延迟,找台机器升级下 kafka-python 版本到 1.4.0 看看,升级完之后发现日志大幅度减少了。 ? 升级后的日志大约是升级前的九分之一了,这样来看很明显就是 1.3.5 的问题了。...lag 图就是延迟条数了,大约 11 号 18点的时候,也就是我们更新版本重启容器之后,在数据写入并没多大改变情况下,lag 数拼命增长,直接去到 80 万了,而且后面还在持续上涨; 首先排除因素就是...先回滚到旧版本看看,看到延迟立马消失了。 ? 基本就能定位这个消费延迟的问题是版本导致的。 既然是消费延迟,那就得看消费速度监控了。...因为前面的经验,所以现在都很大可能是版本问题了。 直接去 kafka-python 官网,找了较新的版本 1.4.2,更新之后,消费和日志都正常了。

    1.7K40

    apache2.4版本与2.2版本的差异

    1、在2.2版本中eventMPM还处于测试阶段,而2.4版本event已经可以正常使用了 2、2.4版本的3个MPM工作模式使用的是DSO动态模块来实现的,而2.2则是直接编译成了静态模块 3、2.4...版本切换MPM工作模式是在/etc/httpd/conf.modules.d/00-mpm.conf文件中实现的,而2.2版本则是在/etc/sysconfig/httpd文件中进行的切换 4、2.4版本...5、2.4版本在对目录进行访问控制设置时使用的语句如下: 基于IP的访问控制: 无明确授权的目录,默认拒绝 允许所有主机访问:Require all granted 拒绝所有主机访问:Require...2.4版本对目录权限的控制两者语句不通用,用错不生效 6、基于FQDN的虚拟主机配置中,2.4版本不需要“NameVirtualHost”标签头,而2.2版本的必须加。...7、2.4版本的模板加载配置默认存放在 /etc/httpd/conf.modules.d/下,而2.2版本则全部卸载了主配置文件/etc/httpd/conf/httpd.conf内

    90730

    Python获取上个月最后一天的日期

    目录 Python获取上个月最后一天的日期 返回格式1  返回格式2 最直接的获取本月第一天 示例Demo: 最有效的示例: 总结 ---- Python获取上个月最后一天的日期 本文测试时间2月14日...我们需要遍历所有的文章列表,但是我们需要去截取时间,这个时间不能是当月的1号,因为当月1号也有文章发布,故而我们应该去获取上个月最后一天的日期,并且需要根据格式来输出字符串,一般写法有2种格式(符号自己换...datetime.datetime(now.year, now.month, 1) - timedelta(days=1)).replace("-", "/") print(str_index) 效果如下: 最直接的获取本月第一天...有的时候我们还需要获取本月第一天,我在平台上找到了一个示例,但是比较麻烦,我们先来看看啊。...总结 月份的第一天,最后一天都是有很多用途的,我们在以后具体的开发过程中需要创建一个专门格式化时间的类来帮助我们获取各种格式的时间。

    2.1K20

    关于php strotime(-1 month)的思考

    关于计算当前同比日期 如果业务中有这样的需求,你可能很快就会想到,代码也许这样写: echo date('Ymd',strtotime('20180907 -1 month')); //output:...这都是些什么鬼,如果当前月比上一个月多,在多余的日子里去取上个月同期,会有问题。 ?...当前很多人发现了这个问题,有兴趣可以看下专家解惑: 令人困惑的strtotime 引用下关键点就是date内部变化导致的结果: 先做-1 month, 那么当前是07-31, 减去一以后就是06-31...【实为上个月最后一天】,date(j)获取传递进来的 time为当前月第几天....如果上个月总天数 小于 当前月第几天, 直接返回上个月最后一天 如当前20180301 那么上个月的28小于31,直接同比上个月就是28 直接返回上个月相应第几天数据

    1.2K20

    PHP如何获取本周所有的日期

    图片获取日期第一天和最后一天如果要获取第一天和最后一天,可以使用如下的方法。可以使用PHP内置函数date()、strtotime()和如下方法来统计本周第一天到本周最后一天的日期。...可以使用PHP内置函数date()、strtotime()和如下方法来统计本周第一天到本周最后一天的日期:// 获取本周第一天的时间戳$first_day_of_week = strtotime('this...week Monday');// 获取本周最后一天的时间戳$last_day_of_week = strtotime('this week Sunday');// 使用date()函数将时间戳转换为日期格式...,使用for 循环语句逐个输出本周的日期(包括第一天和最后一天),代码如下:// 获取本周第一天的时间戳$first_day_of_week = strtotime('this week Monday'...);// 获取本周最后一天的时间戳$last_day_of_week = strtotime('this week Sunday');// 使用date()函数将时间戳转换为日期格式$start_date

    2.6K30

    PHP经典算法面试题列表

    php function test(){ $a=1; $b=&$a; echo (++$a)+(++$a); } test(); //PHP7以下的版本返回的是 6,PHP7版本返回5 ,还真的算奇异...,个人底层算法差,认为是PHP7以下版本的BUG 8、字符集合:输入一个字符串,求出该字符串包含的字符集合,并按顺序排序(英文) function set($str){ //转化为数组...$list[] = $v; tree($arr,$v['id'],$level+1); } } return $list; } 14、获取上个月第一天...和 最后一天 /获取上个月第一天 date('Y-m-01',strtotime('-1 month')); //获取上个月最后一天 date('Y-m-t',strtotime...你要将这个子串左右翻转后插在这个子串原来位置的正后方,求最后得到的字符串是什么。字符串的下标是从 0 开始的,你可以从样例中得到更多信息。

    95320

    系统比较Seurat和scanpy版本之间、软件之间的分析差异

    Seurat和Scanpy是实现这种工作流的最广泛使用的软件,通常被认为是实现类似的单个步骤。下面我们就需要比较一下软件之间、以及不同版本之间的数据分析差异。...将Seurat v5与v4进行比较,在重要差异基因、marker和logFC估计值集方面存在相当大的差异。logFC计算的差异源于不同版本间伪计数应用程序的变化。...将Scanpy v1.9与较早的v1.4进行比较还揭示了重要marker基因和marker list的巨大差异,这是由于删除了不同版本之间的marker过滤。...这些版本之间的logFC计算和调整后的p值没有差异。比较使用默认设置的Cell Ranger软件v7和Cell Ranger v6生成的计数矩阵也揭示了所有DE指标之间的差异。...计数矩阵生成和分析中涉及的软件的版本控制也会对下游分析产生影响,特别是在没有仔细考虑跨版本行为变化的情况下。

    36820

    PHP 获取指定年月日的开始和结束时间戳 转

    /** * 获取指定年月日的开始时间戳和结束时间戳(本地时间戳非GMT时间戳) * [1] 指定年:获取指定年份第一天第一秒的时间戳和下一年第一天第一秒的时间戳 * [2] 指定年月:获取指定年月第一天第一秒的时间戳和下一月第一天第一秒时间戳...* [3] 指定年月日:获取指定年月日第一天第一秒的时间戳 * @param integer $year [年份] * @param integer $month [月份]...1; return array('start' => $startTimestamp, 'end' => $endTimestamp); } } $startTimestamp = strtotime...$start_day_formated." 00:00:00"); $endTimestamp = strtotime($end_year_formated.'-'....[end] => 1472659199 ) Array ( [start] => 1475164800 [end] => 1475251199 ) 以上就是PHP 获取指定年月日的开始和结束时间戳的全文介绍

    2.7K20
    领券