-2

これを行う方法について読んだことがあり、ほとんどがこの解決策を思いつきました。時間形式を表示したいだけです。

$starttime = "1899-12-30 06:52:47";
<?php echo date("h:i:s",strtotime($starttime)); ?>

何らかの理由で、これは「16:00:00」を返します

私は何を間違っていますか?

4

2 に答える 2

4

コメントで述べたように、あなたの日付はUNIXエポックより前です。DateTime()それを回避することができます。

$dt = new DateTime("1899-12-30 06:52:47");
echo $dt->format("h:i:s");
于 2013-09-06T19:33:06.150 に答える
-1
$starttime = "1899-12-30 06:52:47";
echo date("h:i:s",strtotime($starttime));

このコードは私にとっては問題なく機能し、「06:52:47」と表示されます。これは、1899 年が Unix エポック (協定世界時 (UTC)、1970 年 1 月 1 日 00:00:00) より前であるためである可能性があります。

于 2013-09-06T19:36:51.580 に答える