strtotime(0000-00-00 00:00:00) 的大“坑”

2024-05-24 00:32
文章标签 00 0000 strtotime

本文主要是介绍strtotime(0000-00-00 00:00:00) 的大“坑”,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、问题描述

    想要的效果是当值为“0000-00-00 00:00:00”时,返回1;

     图一,在本地运行返回1,在服务器运行返回2

    图一

二、问题分析

1、一直以来的思维是strtotime("0000-00-00 00:00:00")的值为0,这样图一返回1

2、图二,在线php工具中运行,strtotime("0000-00-00 00:00:00")的返回值竟然为负值时间戳,!strtotime("0000-00-00 00:00:00")值变为false,结果返回2

3、最后发现,strtotime("0000-00-00 00:00:00")在32bit和64bit的php环境中返回值是不同的,分别返回0和负值时间戳,

恰好本地的环境是32bit,服务器是64bit,导致结果不同;

参考链接:https://www.mokeyjay.com/archives/735

4、解决方法

三、总结延伸

1、本地php环境位数查看,在入口文件index.php中使用phpinfo()即可查看;

2、服务器 找到php执行文件php.exe的路径为/usr/local/php.5.3.8/bin,直接运行file php即可,值为“x86-64”即代表64bit的php环境

3、php在线工具中

同样输入phpinfo()运行即可。

这篇关于strtotime(0000-00-00 00:00:00) 的大“坑”的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/996860

相关文章

java的Timestamp时间插入mysql的datetime字段是0000-00-00 00:00:00

Mysql 与 java 的时间类型             MySql的时间类型有              Java 中与之对应的时间类型                  date                                               java.sql.Date               Datetime

【00】408笔记

上图参考文章 RIP 最大的跳数为15 为主机配置地址:DHCP ICMP报文传输方式:放在IP数据报的数据字段中传送 CIDR技术的作用:是网络归并技术,把小的网络汇聚成大的超网,进而缓解了地址资源不足的问题 IP首部字段,与分片和重组有关的是:片偏移,标志,标识 普通IP首部长为20个字节,最长60字节 16位总长度(Total Length): 标识IP数据报包的总长度,以字节为单位

javaweb-day02-2(00:40:06 XML 解析 - Dom4j解析开发包)

导入dom4j开发包:dom4j-1.6.1.jar   在工程下建一个文件夹lib,将dom4j-1.6.1.jar拷到里边。右键add to build path。  dom4j-1.6.1\lib文件夹下还有一些jar包,是开发过程中dom4j所需要依赖的jar包,如开发过程中报错,则需导入。   用dom4j怎么做呢? 只要是开源jar包提供给你的时候,它会在开源包里面提供

javaweb-day01-2(00:17:48 XML 的作用 和 语法)

XML: 描述 可扩展标记语言,w3c  2000年发布的 XML 1.0 版本规范。 用来描述数据之间的关系。 经常用作 软件  的配置文件,描述 模块与模块 之间的关系。 还用作    软件启动  的配置文件,描述 启动模块之间的 依赖 关系。 语法 一个XML文件分为如下几部分内容: 文档声明元素属性注释CDATA区、转义字符处

Python JAVA接口UTC 时间 '2018-08-06T10:00:00.000Z' 格式转化为本地时间

Python JAVA接口UTC 时间 '2018-08-06T10:00:00.000Z' 格式转化为本地时间 方法1 import datetimeorigin_date_str= "2019-07-26T08:20:54Z"utc_date = datetime.datetime.strptime(origin_date_str, "%Y-%m-%dT%H:%M:%SZ")loca

51单片机-DS1302(RTC时钟显示,代码内改变,内设的24年9月5日,上午11:12:00)

一、DS1302时序及命令字 两个操作:写操作和读操作 写操作:        (由我们单片机一个控制引脚控制DS1302的IO口写入)首先就是通过时序图把我们的命令字写入,命令字是控制我们对应要写入的年月日,时分秒等配置的关键寄存器,只有设置好命令字相关参数才能写入相关的年月日等时间信息,一个写时序共2个字节,第一个字节是我们的命令字,第二个字节是我们要写入的数据(此数据为16进制写入,最

排列序列00

题目链接 排列序列 题目描述 注意点 1 <= n <= 91 <= k <= n! 解答思路 初始想到的是本题与下一个排列类似,所以也用了相似的方法解决,但是循环中多次交换元素,时间复杂度和空间复杂度都不不理想后续参考题解并不需要求出每一个排列,在选择每个节点时,可以计算出选择该节点对应的叶子节点数量,如果当前叶子节点数量不超过k,说明肯定目标序列肯定不在该节点下,直接剪枝

预测赢家00

题目链接 预测赢家 题目描述 注意点 1 <= nums.length <= 200 <= nums[i] <= 10^7假设每个玩家的玩法都会使他的分数最大化如果两个玩家得分相等,同样认为玩家1是游戏的赢家 解答思路 需要注意的是,如果数组中的元素个数为偶数,则玩家1始终都是游戏的赢家首先可以使用递归找到各个区间能获得的最大分数,因为本题是要判断两个玩家都保证分数最大化的情

mysql 与java 转换格式化格林威治时间(Tue Sep 13 00:00:00 CST 2016)两种方式

1  mysql 中处理 SELECT STR_TO_DATE('Thu Jul 20 15:04:03  2017','%a %b %e %T %Y %Y %Y') from dual ;   STR_TO_DATE(REPLACE('Tue Sep 13 00:00:00 CST 2016', '00:00:00 CST ', '') ,'%a %b %e %Y %Y %Y') 2 ja

KOLLMORGEN科尔摩根驱动器AKD-P00607-NBPN-0000

KOLLMORGEN科尔摩根驱动器AKD-P00607-NBPN-0000   阀门定位器:(福克斯波罗, YTC,山武) PLC:(西门子,施耐德,ABB,AB,三菱,欧姆龙) 泵阀:(力士乐,威格士,哈威,伊顿,阿托斯) 气动元件:(SMC,费斯托,CKD) 传感器:(倍加福,西克,伦茨,巴鲁夫,易福门,图尔克) 编码器:(海德汉,堡盟,亨士乐) 西门子:罗宾康,3UF电机保