簡體   English   中英

strtotime不工作

[英]strtotime not working

我是PHP的新手,並試圖將注冊表單(在01/01/2011中的形式)中的日期轉換為Ymd,以便它可以存儲在數據庫中。

這是我的代碼,非常確定它之前有效,但現在已停止工作了。 有任何想法嗎?

$dateformat = $_POST['dob'];
$correctformat = date('Y-m-d',strtortime($dateformat));

我已經檢查了$_POST['dob']打印的內容是正確的,但$correctformat每次都打印1970-01-01

任何幫助將不勝感激。

謝謝

您可以使用DateTime :: createFromFormat (注意PHP 5> = 5.3.0)而不是strtotime因為strtotime接受m/d/Y而不是d/m/Y

嘗試:

$dateformat = $_POST['dob'];
$correctformat = DateTime::createFromFormat('d/m/Y', $dateformat);
echo $correctformat->format('Y-m-d');
$currentformat = explode("/",$_POST['date']);
$newformat = $currentformat[2]."-".$currentformat[1]."-".$currentformat[0];

0.1。 能告訴,看日期,如果有一個月或一天第一? 如果你不能 - 如何確定任何程序來確定實際的訂單?

0.2。 如果計划成為PHP用戶,此操作需要任何人必須學習的非常基本的字符串操作:

$chunks = explode("/",$_POST['date']);
$date   = "$chunks[2]-$chunks[1]-$chunks[0]";

塊的順序取決於日期部分的實際順序

正如亞當所說,沒有strtortime()它應該是strtotime()

你真的用文字字符串'01 / 01/2011'測試了嗎? 我們中的一些人出生於1970年之前 - 這可能會造成一些混亂(strtotime()會產生32位的Unix時間)。

(注意strtotime使用mm / dd / yy [yy]的美學風格而不是歐洲慣例dd / mm / yy [yy]來解釋xx / xx / xx [xx]。

它刪除了拼寫錯誤:

[colinm@dev-sensor ~]$ php -q t.php
2011-01-01
[colinm@dev-sensor ~]$ cat t.php
<?php

print date('Y-m-d',strtotime('01/01/2011')) . "\n";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM