1

私を夢中にさせる質問があります。私のタスクは、API から日付を解析し、それを RFC 822 形式に変換することです。これは、出てくるフィードに検証エラーが発生するためです。

API からの日付は次のようになります。

<review created="2012-10-23 14:51:12.0">

substrを介して作成された説明に日付が1つあります

$xtime = substr($review["created"], 0, 16);
$jahr = substr($xtime,0,4);
$mon  = substr($xtime,5,2);
$tag  = substr($xtime,8,2);
$datneu = $tag.'.'.$mon.'.'.$jahr; 

この日付は次のように表示されます:

23.10.2012

私が作った出版物のために

$xtime = substr($review["created"], 0, 16);
$xxl = $pubtime . " GMT";

のようにレンダリング:

2012-10-23 14:51:12 GMT

また、W3C フィード バリデーターは、pubDate が RFC 822 形式ではないため、検証されないと述べています。

Sorry

This feed does not validate.

line 10, column 38: pubDate must be an RFC-822 date-time: 2012-10-29 11:51:23 GMT (5 occurrences) [help]

          <pubDate>2012-10-29 11:51:23 GMT</pubDate>

そしてそれは次のようにする必要があります:

<pubDate>Wed, 02 Oct 2002 13:00:00 GMT</pubDate>

「if (month = 01){ actualmonth = Jan}」のように sth を表現するためのハッキーな解決策を想像できますが、日で同じことを行う方法が本当にわかりません。

また、私はPHPにあまり慣れていませんが、これをできるだけ早く解決する必要があります.

あなたが私を助けてくれることを願っています。同様の質問で見つけられなかった解決策があるはずです

よろしくジョン

4

4 に答える 4

3

DateTime::createFromFormat()またはをご覧くださいdate_create_from_format

http://fr2.php.net/manual/en/datetime.createfromformat.php

<?php
$date = date_create_from_format('Y-m-d H:i:s', '2012-10-23 14:51:12.0');
echo date_format($date, 'D, d M Y H:i:s');
?>

可能な日付形式を見てください

http://fr2.php.net/manual/en/function.date.php

編集:修正

于 2012-11-28T15:55:02.463 に答える
1

私のために働いたyeaaaaah 、すごい!

他の人にとって、私のケースの正確な解決策は


$before = "2012-10-23 14:51:12.0";


$timetwo = substr($before, 0, 16);

$timethree = date_create_from_format('Y-m-d H:i:s', $timetwo);

$timefinal = date_format(timethree, 'D, d M Y H:i:s');

$after = $timefinal . ' GMT' ; 


$after = "Mon, 23 Oct 2012 14:51:12 GMT";

すばやい回答ありがとうございます。

于 2012-11-28T22:35:39.770 に答える
1

こんにちは PHP では、これを確認する必要があります: function date

于 2012-11-28T15:50:26.923 に答える
0

これは私のために働いた....

date("r", strtotime($yourdate))

$yourdate は2013-10-27で、 2013 年 10 月 27 日 00:00:00 +0000を取得しました

于 2013-10-29T09:28:51.530 に答える