6


3

日付をこの形式に変換する

私はこの形式の日付を持っています:

   24-12-2010 // DAY - MONTH - YEAR

この形式で取得する必要があります。

   1995-12-31T23:59:59.999Z // The Z is for the TimeZone I think.

このリンクをチェックしてください。

上記のリンクは、日付が必要な方法です。

現在PHPを使用しているので、これはPHPで行う必要があります。 これらの日付を最も簡単な方法で変換するにはどうすればよいですか?

ありがとう

5 Answer


10


これはISO8601形式の日付です。以下はあなたが望むものです。

gmdate('Y-m-d\TH:i:s\Z', strtotime($date_value));


6


次のようなことができます:

$dateTime = new DateTime($myDate);
$formatted = $dateTime->format("Y-m-d\TH:i:s.z\Z");

上記のソリューション:

$dateTime->format(DateTime::W3C);
$dateTime->format(DateTime::ISO8601);

次のような文字列を返します:

2012-11-28T17:21:11+0100

少なくとも新しいバージョンのSolrでは解析できません。

タイムゾーンをサポートする必要がある場合、gmdateは使用しません。 DateTimeの実装はよくできており、関数型プログラミングにも利用できます。


2


DateTimeクラスを使用できます

$dateTime = new DateTime();
$dateTime.setDate(24, 12, 2010);

$output = $dateTime.format(DateTime::W3C);

// Output now is your date in W3C format.


0


phpの日付(string $ format [、int $ timestamp])関数を使用してください! 2番目のパラメーターでは、http://php.net/manual/en/function.strtotime.phpを使用して、文字列からタイムスタンプを取得します


0


$date = strtotime('24-12-2010');
$new_date = gmDate("Y-m-d\TH:i:s.z\Z",$date);