2010-01-01 57 views

回答

6

試試這個:

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

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

$date = '30-12-2009'; 
$time = '11:30'; 

echo RFC2822($date, $time); 

將輸出類似這樣:

星期三,2009年11:30:00 +0200

第二個參數12月30日的功能是可選的,你可以只提供日期,它仍然可以工作。

-1
$date = "DD-MM-YY HH:MM"; // your date with or without hour and minutes 

$time = strtotime($date); 

$rfc_time = date("r", $time); 
+0

這並不爲我工作。用'$ date =「11-12-09 12:22」',我得到輸出'Fri,2011年12月9日12:22:00 + 0000'。 'strtotime'正在讀取輸入爲YY-MM-DD。 – 2010-01-01 21:32:47

+0

謝謝,但是這個解決方案會生成以下內容。即: $ date =「30-12-09 07:15」; $ rfc_time - >週一,2030年12月9日07:15:00 -0800 因此它不適用於DD-MM-YY – 2010-01-01 21:34:28

+0

那麼你應該爲自己解析日期 – marvin 2010-01-01 21:35:43

0

嘗試類似:

<?php 
$date = '11-01-09'; // Jan 11th, 2009 
$time = '21:30'; 

// Correct the invalid order of the date 
$date_parts = array_reverse(explode("-", $date)); 
$date = implode('-', $date_parts); 

// Set up the format 
$timestamp = strtotime($date . " " . $time); 
$rss_datetime = date(DATE_RFC2822, $timestamp); 

echo $rss_datetime; 
?>