web-dev-qa-db-ja.com

ISO 8601をUNIXタイムスタンプに変換

どのように変換できますか2012-01-18T11:45:00+01:00(ISO 8601)から1326883500(unixtimestamp)PHPで?

34
Codler
echo date("U",strtotime('2012-01-18T11:45:00+01:00'));
59
k102

ISO 8601からunixtimestampに変換するには:

strtotime('2012-01-18T11:45:00+01:00');
// Output : 1326883500

UnixtimestampからISO 8601(タイムゾーンサーバー)に変換するには:

date_format(date_timestamp_set(new DateTime(), 1326883500), 'c');
// Output : 2012-01-18T11:45:00+01:00

UnixtimestampからISO 8601(GMT)に変換するには:

date_format(date_create('@'. 1326883500), 'c') . "\n";
// Output : 2012-01-18T10:45:00+00:00

UnixtimestampからISO 8601(カスタムタイムゾーン)に変換するには:

date_format(date_timestamp_set(new DateTime(), 1326883500)->setTimezone(new DateTimeZone('America/New_York')), 'c');
// Output : 2012-01-18T05:45:00-05:00
13
John Slegers