首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在PHP中比较MySQL日期字符串格式正确吗?

在PHP中比较MySQL日期字符串格式正确吗?
EN

Stack Overflow用户
提问于 2014-10-22 08:39:00
回答 1查看 67关注 0票数 1

通过这样做,我一直在比较php中的mysql日期:

代码语言:javascript
复制
<?php

strtotime('2007-12-12 10:00:01') > strtotime('2007-12-12 10:00:00')

我刚刚发现,如果直接比较php中的2个日期(格式为Y-m-d H:i:s),结果似乎是正常的。我搜索过谷歌就是为了这个,没有发现任何结果。

示例1:

代码语言:javascript
复制
<?php

var_dump('2006-12-12 10:00:00' > '2006-12-12 10:00:00');
var_dump('2006-12-12 10:00:00' >= '2006-12-12 10:00:00');
var_dump('2006-12-12 10:00:00' <= '2006-12-12 10:00:00');
var_dump('2006-12-12 10:00:00' < '2006-12-12 10:00:00');

结果1:

代码语言:javascript
复制
bool(false)
bool(true)
bool(true)
bool(false)

示例2:

代码语言:javascript
复制
<?php

var_dump('2007-12-12 10:00:00' > '2006-12-12 10:00:01');
var_dump('2007-12-12 10:00:00' >= '2006-12-12 10:00:01');
var_dump('2007-12-12 10:00:00' <= '2006-12-12 10:00:01');
var_dump('2007-12-12 10:00:00' < '2006-12-12 10:00:01');

结果2:

代码语言:javascript
复制
bool(true)
bool(true)
bool(false)
bool(false)

看来php正在正确地比较两个mysql日期。这个a 是比较php中mysql日期的正确方法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-22 08:44:41

'2007-12-12 10:00:00' > '2006-12-12 10:00:01'比较两个字符串的词汇。如果两个字符串具有相同的格式(即数字和连字符或冒号位于完全相同的位置),并且元素的顺序是最重要的到最小的(即年份、月、日、小时、分钟、秒),则这一方法碰巧起作用。

那么吉恩。这并不是不正确的,因为它实际上是有效的,但这是工作的事实或多或少是偶然的。它似乎是一个很容易崩溃的脆弱解决方案,而使用strtotime显式解析日期和比较显式时间戳值则不那么脆弱。(请注意,strtotime还依赖于字符串是某种已知格式,但它不会神奇地为您解析任何和所有值。)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26503401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档