7

strtotime()PHPでは、理解して変換できる日付形式を指定できればうまく機能しますが、たとえば、英国の日付を指定すると、正しいUNIXタイムスタンプを指定できません。

日付と時刻が渡される形式を関数に伝える形式変数を受け入れることができる、公式または非公式の PHP 関数はありますか?

date_parse_from_format()私がこれを行うのに最も近いのは、との混合ですmktime()

// Example usage of the function I'm after
//Like the date() function but in reverse
$timestamp = strtotimeformat("03/05/2011 16:33:00", "d/m/Y H:i:s");
4

3 に答える 3

23

PHP 5.3 を使用している場合:

$date = DateTime::createFromFormat('d/m/Y H:i:s', '03/05/2011 16:33:00');
echo $date->getTimestamp();
于 2011-05-03T15:37:30.823 に答える
2

あなたはstrptimeを探していると思います。これを使用して日付を解析し、UNIX タイムスタンプが必要な場合はmktimeを使用できます。

function strotimeformat($date, $format) {
  $d = strptime($date, $format);
  return mktime($d['tm_hour'], $d['tm_min'], $d['tm_sec'],
                $d['tm_mon'], $d['tm_mday'], $d['tm_year']);
}

これは、PHP 5.1 以降で動作します。

于 2011-05-03T15:37:03.640 に答える
0

strtotime/区切り文字として使用する場合は、米国の日付/時刻であると想定しています。ユーロの日付/時刻であると見なすには、-または.を日付区切り文字として使用します。簡単/にsを-sまたはsに変更できます.str_replace()

于 2011-05-03T15:42:26.710 に答える