0

だから私がやろうとしているのは、軍事時間の形で2つの文字列を一緒に追加することです。これが例です。

Time1 = "01:00"; Time2 = "04:30";

2つを足し合わせると、「05:30」が生成されます。これは信じられないほど簡単に思えますが、新しい学習者にとっては長い長い一日でした。どんな助けでも大歓迎です。

4

1 に答える 1

2

PHP5.3では次のようなことができます。

$d = new DateTime("01:00");
$f = $d->add(new DateInterval("PT04H30M"));
echo $f->format("H:i"); //outputs 05:30

04:30をPT04H30Mに変換するのは簡単なはずです。これが実際に必要なものであるかどうかは、「04:30」の意味によって異なることに注意してください。このコードは、実際の時間に対して4 * 60+30分を合計する場合としない場合があります。

「時計の4時間30分」を意味する場合、これは常に正しいです。ただし、「4 * 60 + 30分」という意味の場合は、曜日とタイムゾーンによって異なります。例:

$d = new DateTime("2010-03-28 01:00 Europe/Lisbon");
$f = $d->setTimestamp($d->getTimestamp() + (4*60+30)*60);
echo $f->format("H:i"); //outputs 06:30 due to DST

PHP 5.2の最後のケース(現在の日とデフォルトのタイムゾーンを想定)の代替実装は次のとおりです。

echo date("H:i", strtotime("+4 hours +30 mins", strtotime("01:00")));

最初のケースでは、次のことを行う必要があります。

date_default_timezone_set("UTC");
echo date("H:i", strtotime("+4 hours +30 mins", strtotime("01:00")));
于 2010-08-05T03:29:38.667 に答える