繁体   English   中英

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

[英]Is comparing MySQL dates string formats in PHP correct?

我一直在通过比较php中的mysql日期:

<?php

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

我只是发现,如果直接在php中比较2个日期(格式Ymd H:i:s ),结果似乎还可以。 我已经在Google上搜索了此内容 ,但未找到结果。

范例1:

<?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:

bool(false)
bool(true)
bool(true)
bool(false)

范例2:

<?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:

bool(true)
bool(true)
bool(false)
bool(false)

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

'2007-12-12 10:00:00' > '2006-12-12 10:00:01'比较两个字符串 如果两个字符串具有相同的格式(即数字和连字符或冒号位于完全相同的位置),并且元素的顺序从最高有效到最低有效(例如,年,月,日,小时,分钟,则这偶然发生) ,秒)。

所以, 吉恩 这不是不正确的,因为它确实可以工作,但是可以工作的事实或多或少是偶然的。 看起来这似乎很容易折断,而使用strtotime显式地解析日期并比较显式的timestamp值却不那么容易。 (请注意, strtotime还取决于字符串是否为某种已知格式,它不会为您神奇地解析任何和所有值。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM