したがって、PHP で pm/am を 24 時間に変換する必要があります。Yahoo API を使用して通貨レートを取得していますが、am/pm までに提供されているようです。
日付は機能するかもしれないと思っていましたが、その関数を読み込んでみると、午後を 24 時間に変換する方法がありませんでした。
5: 55pm
これはうまくいくはずです
date("H:i", strtotime("5:55 pm"));
逆に行きたい場合は、
date("g:i a", strtotime("17:55"));
使用上の問題と、date
タイムstrtotime
ゾーンについて心配する必要があるかもしれません... yahooから取得しているものは、サーバーのタイムゾーンと一致しない可能性があります...ここに正規表現メソッドがあります:
$time = preg_replace_callback('~^([^:]+)(.*(a|p)m)$~',create_function('$m','return ($m[3]=="p")?(($m[1]+12).$m[2]):$m[0];'),$time);
もしヤフー!API は実際には 24 時間で時間を返す方法を提供していません。sachleen が提案したようにするか、正規表現を使用することができます。
(\d{1,2}): (\d{2})(am|pm)
次に、「午後」の場合は、時間に 12 を追加します。