簡體   English   中英

隱式html日期值轉換為RFC 2822

[英]Covert html date value to RFC 2822

我有以下代碼,

$date = $_POST["s-date"]; // get from  form. value pass correctly. 
 $time =  "".$hour.":".$minute.":".$second.""; // ok
   echo RFC2822($date,$time);   

function RFC2822($date,$time = '00:00') { 
   $array =  list($d, $m, $y) = explode('-', $date); 
    list($h, $i, $s) = explode(':', $time);

    return date('r', mktime($h,$i,0,$m,$d,$y));
}

當我執行此腳本時,將正確打印時間片段,但日期始終顯示為2025年7月8日,甚至將不同的日期傳遞給函數。 如何解決這個問題。

您必須檢查此輸入$_POST["s-date"]它必須遵循以下日期格式:

`DD-MM-YY`

因為,您正在以以下格式(DD-MM-YY)創建列表:

$array =  list($d, $m, $y) = explode('-', $date);

更新1:

如前所述,您使用的是HTML日期,而HTML日期格式為'YYYY-MM-DD' ,現在只需更改日期格式的列表變量順序即可。

據我所知,您的問題不在於您共享的代碼,而在於其他地方。 如果我復制粘貼您的腳本並在$ date上放置一個固定的日期,它將按預期工作。 (我已刪除缺少變量的$ time)

$date = "27-02-2014";
echo RFC2822($date);   

function RFC2822($date,$time = '00:00:00') {
   $array =  list($d, $m, $y) = explode('-', $date);
    list($h, $i, $s) = explode(':', $time);

    return date('r', mktime($h,$i,0,$m,$d,$y));
}

產出

Thu, 27 Feb 2014 12:00:00 +0100

由此,我希望您的$_POST['s-date'] var以某種方式獲得固定的08-07-2025或其他一些輸入,使其變為2025年7月8日。

暫無
暫無

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

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