var_dump(strtotime('1441185010'));//输出bool(false)var_dump(strtotime('1451382400'));//输出int(13591003898)
私の PHP5.6 は、あなたの PHP のバージョンを示す 2 つの false を返します。
私の PHP5.6 は、あなたの PHP のバージョンを示す 2 つの false を返します。
何に使いたいのかわかりません。
strtotime は、英語テキストの日付と時刻の記述を Unix タイムスタンプに解析します
echo strtotime('2015/12/11');
タイムスタンプを日付に変換したい場合は、date
何に使いたいのか分かりません。
strtotime は、英語テキストの日付と時刻の記述を Unix タイムスタンプに解析します
echo strtotime('2015/12/11');
タイムスタンプを日付に変換したい場合は、date
function smarty_modifier_date_format($string, $format="%b %e, %Y", $default_date=null){ if (substr(PHP_OS,0,3) == 'WIN') { $_win_from = array ('%e', '%T', '%D'); $_win_to = array ('%#d', '%H:%M:%S', '%m/%d/%y'); $format = str_replace($_win_from, $_win_to, $format); } if($string != '') { return strftime($format, smarty_make_timestamp($string)); } elseif (isset($default_date) && $default_date != '') { return strftime($format, smarty_make_timestamp($default_date)); } else { return; }}
function smarty_make_timestamp($string){ if(empty($string)) { $string = "now"; }/** 这个判断是我做的一个临时救急解决方案,并没有找到实际原因。 if(strlen((int)$string)==10){ return (int)$string; }*/ $time = strtotime($string);//此处在处理时间戳的时候发现问题里第一个时间戳正常返回false,但是第二个却返回一个不知道怎么得出来的整型,结果与$string不一致,结果自然不对 if (is_numeric($time) && $time != -1) return $time; // is mysql timestamp format of YYYYMMDDHHMMSS? if (preg_match('/^\d{14}$/', $string)) { $time = mktime(substr($string,8,2),substr($string,10,2),substr($string,12,2), substr($string,4,2),substr($string,6,2),substr($string,0,4)); return $time; } // couldn't recognize it, try to return a time $time = (int) $string; if ($time > 0) return $time; else return time();}
echo date('Y-m-d H:i:s', 1441185010); //2015-09-02 17:10:10
1441185010 が有効なタイムスタンプであることがわかります
strtotime -- 英語テキストの日付と時刻の記述を Unix タイムスタンプに解析します
$time = strtotime($string)
で、$string が英語のテキストの日付と時刻の記述ではない場合、それは当然間違っています
echo date('Y-m-d H:i:s', strtotime('20150902171010')) //2015-09-02 17:10:10
echo date('Y-m-d H:i); :s', strtotime('20150902')); //2015-09-02 00:00:00
1441185010 は 1441 年 8 月 50 日の 10:00 と解釈できますか? ? ? ?
echo date('Y-m-d H:i:s', 1441185010); //2015-09-02 17:10:10
1441185010 が有効なタイムスタンプであることがわかります。 🎜>
strtotime -- 英語テキストの日付と時刻の記述を Unix タイムスタンプに解析します
$time = strtotime($string)
で、$string が日付と時刻の記述ではない場合英語のテキストの場合、当然それは間違っています
echo date('Y-m-d H:i:s', strtotime('20150902171010')); //2015-09-02 17:10:10
echo date( 'Y-m-d H:i: s', strtotime('20150902')); //2015-09-02 00:00:00
1441185010 は 1441 年 8 月 50 日の 10:00 と解釈できますか? ? ? ?
echo date('Y-m-d H:i:s', 1441185010); //2015-09-02 17:10:10
1441185010 が有効なタイムスタンプであることがわかります。
strtotime -- 英語テキストの日付と時刻の記述を Unix に解析します。 timestamp
$time = strtotime($string);
で、$string が英語のテキストの日付と時刻の記述ではない場合、当然間違っています
echo date('Y-m-d H:i: s', strtotime(' 20150902171010')); //2015-09-02 17:10:10
echo date('Y-m-d H:i:s', strtotime('20150902')); 09-02 00:00 :00
あなたの 1441185010 は 1441 年 8 月 50 日の 10:00 と解釈できますか? ? ? ?
strtotime に渡すのはタイムスタンプなので false でなくても間違いです
echo date('Y-m-d H:i:s', 13591003898); //1992-05-17 19:26 : 50
strtotimeに渡すのはタイムスタンプなのでfalseでなくても間違いです
echo date('Y-m-d H:i:s', 13591003898) ; / /1992-05-17 19:26:50
それはあなたの php に問題があります
テスト後、それはすべて誤りです
それはあなたの php に問題があります
テスト後、それはすべて誤りですfalse false
バージョン 5.2 にも上記の問題があります。これがバグなのかどうかはわかりません。
先生、この投稿を読んでください。 。 。 。 http://bbs.csdn.net/topics/391822092