PHP のサイトマップの日付形式が必要です。
どうやってやるの ?
この出力は正しいですか?
<lastmod>2012-08-02EEST18:01:18+03:00</lastmod>
PHP のサイトマップの日付形式が必要です。
どうやってやるの ?
この出力は正しいですか?
<lastmod>2012-08-02EEST18:01:18+03:00</lastmod>
タイムスタンプがある場合は、次のように日付を正しくフォーマットできます。
<lastmod><?php echo date('c', $timestamp); ?></lastmod>
タイム スタンプは、time()
(現在の時刻の場合) または UNIX タイムスタンプを取得するその他の方法である可能性があります。strtotime()
現在のタイムスタンプを W3C 日時エンコーディング (sitemap.xml ファイルで使用) でフォーマットするには、次のパラメーターを使用します。
echo date('Y-m-dTH:i:sP', time());
PHP5 以降では、c フォーマット文字を使用してまったく同じ文字列を出力することもできます。
echo date('c',time());
これらは両方とも次のように出力します。
2009-04-03T11:49:00+01:00
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
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());
たくさんのフォーマットから選択できます。c
関数でパラメーターを使用するdate()
と、推奨される形式が取得されます。
「EES」を削除私のものはこの2013-12-26T19:00:00-05:00のようで、動作し ますhttp://www.industry-automation-parts.com/1_e_0_sitemap.xml