簡體   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