23

私はこれを探してみましたが、私がやろうとしていることの良い例を見つけることができませんでした.

その値が使用されている場合、切り捨てが必要な MySQL データベースの日時値を取得しました。

例、これらすべての値:

2013-04-20 07:14:42
2013-04-20 07:19:51
2013-04-20 07:37:26
2013-04-20 07:46:28
2013-04-20 07:59:44

次のように切り捨てます。

2013-04-20 07:00:00

2013-04-20 16:25:34

次のようにする必要があります。

2013-04-20 16:00:00 など...

日付値を取得する PHP コード:

$d = strtotime($row["date"]);

では、日時の値を切り捨てるにはどうすればよいでしょうか。

4

11 に答える 11

30

これを試して、

$date = "2013-04-20 16:25:34"; 
echo date("Y-m-d H:00:00",strtotime($date));

コードパッドのデモ。

于 2013-04-20T09:10:07.863 に答える
22

PHP の Carbon DateTime ライブラリを使用している場合 (これは本当に必要です - https://github.com/briannesbitt/Carbon )

を使用して簡単に達成できます

Carbon::now()->minute(0)->second(0);

于 2014-04-02T10:29:55.567 に答える
3

その場合、単純なsubstrことができます:

echo substr($date, 0, 13) . ":00:00";
于 2013-04-20T09:12:04.893 に答える
1

フォローしている方へ (ずっと後で!): Carbon には、これを行う簡単な方法があります。

$date = (new Carbon($row['date']))->minute(0)->second(0)->getTimestamp();
于 2016-04-27T08:00:09.080 に答える
1

あなたは これを達成するためdatestrtotime関数関数を使用することができます.単にあなたの分と秒を変更するだけです.

    $date = '2013-04-20 07:14:42';
    $newdate = date('Y-m-d H:00:00', strtotime($date));

    echo $newdate;

これは出力されます

2013-04-20 07:00:00
于 2013-04-20T09:10:26.517 に答える
1

00:00これは、日付を文字列に書き込む代わりに、分と秒を直接出力して文字列に書き込みi:sます。

$date = date("Y-m-d H:00:00", $d);

それとも、UNIX タイムスタンプとして必要ですか? 次に、分と秒を切り取り (常に最後の 5 バイト)、それらを に置き換えます00:00

$d = strtotime(substr($row["date"], 0, -5)."00:00"));
于 2013-04-20T09:11:39.657 に答える