26

PHP のサイトマップの日付形式が必要です。

どうやってやるの ?

この出力は正しいですか?

<lastmod>2012-08-02EEST18:01:18+03:00</lastmod>
4

10 に答える 10

45

タイムスタンプがある場合は、次のように日付を正しくフォーマットできます。

<lastmod><?php echo date('c', $timestamp); ?></lastmod>

タイム スタンプは、time()(現在の時刻の場合) または UNIX タイムスタンプを取得するその他の方法である可能性があります。strtotime()

于 2012-08-02T15:07:01.073 に答える
28

現在のタイムスタンプを W3C 日時エンコーディング (sitemap.xml ファイルで使用) でフォーマットするには、次のパラメーターを使用します。

echo date('Y-m-dTH:i:sP', time());

PHP5 以降では、c フォーマット文字を使用してまったく同じ文字列を出力することもできます。

echo date('c',time());

これらは両方とも次のように出力します。

2009-04-03T11:49:00+01:00

ソース

于 2013-10-11T16:30:17.247 に答える
20

MySQLの日時形式からサイトマップのlastmodに必要な形式に変換するには、以下のPHPコードを使用するだけです。

$lastmod = '2012-11-28 10:53:17'; //MySQL datetime format

$datetime = new DateTime($lastmod);
$result = $datetime->format('Y-m-d\TH:i:sP');

echo $result; //2012-11-28T10:53:17+01:00
于 2012-11-28T10:28:33.430 に答える
11

Google によると、値はオプションのフィールドであり、提供される場合は次のようにフォーマットする必要があります。

YYYY-MM-DDThh:mmTZD 

SQL 日時のデフォルトのエクスポートは、サーバーの言語設定に依存し、次のようなスペースや特徴的な TZD が含まれる場合があります。

2014-09-19 10:33:05 UTC

W3 は、TZD を 3 つのオプションのいずれかでフォーマットできることを指定します。

TZD = タイムゾーン指定子 (Z または +hh:mm または -hh:mm)

デフォルトのフォーマットからすべてのスペースを削除する必要があります。time の前に文字「T」を挿入する必要があり、TZD はサポートされているタイプのいずれかと一致する必要があります。

したがって、現在のタイムスタンプをフォーマットするには、次のパラメーターを使用します。

echo date('Y-m-dTH:i:sP', time());

PHP5 以降では、c フォーマット文字を使用してまったく同じ文字列を出力することもできます。

echo date('c',time());
于 2014-09-28T04:46:17.143 に答える
2

たくさんのフォーマットから選択できますc関数でパラメーターを使用するdate()と、推奨される形式が取得されます。

于 2012-08-02T15:07:20.583 に答える
1

「EES」を削除私のものはこの2013-12-26T19:00:00-05:00のようで、動作し ますhttp://www.industry-automation-parts.com/1_e_0_sitemap.xml

于 2014-01-02T02:48:21.220 に答える