17

1日を足して、与えられた時間から1秒を引いて(マイナス)したいと思います。

やった:

$fromDate = date("Y-m-d", strtotime("2012-09-28")).' 00:00:00';
$date = strtotime(date("y-m-d H:m:s", strtotime($fromDate)) . " +1 day") - 1;
$toDate = date('Y-m-d H:m:s', $date);
echo $toDate;

しかし、その代わり2012-09-28 23:59:592012-09-29 00:09:59

私は何が間違っているのですか?

4

2 に答える 2

28

コード内の要点に到達するのではなく、ぐるぐる回っています。DateTimeこれがオブジェクトを使った私の解決策です:

$time = new DateTime("2012-09-28");
$time->modify("+1 day");
$time->modify("-1 second");

var_dump($time);

または、その日の最後の1秒が必要な場合は、次のようにします。

$time = "2012-09-28";
$time .= " 23:59:59";

1日あたりの秒数/分数/時間数が変わる可能性は低いため。

于 2012-10-14T18:19:04.367 に答える
2

私があなたを正しく理解しているなら、あなたはその日の最後の1秒が欲しいだけですよね?

その場合は、次のようにすることができます。

$theDate = "2012-09-28";
$fromDate = $theDate." 00:00:00";
$toDate = $theDate." 23:59:59";
于 2012-10-14T18:21:19.883 に答える