576 Stimmen

NOW()-Funktion in PHP

Gibt es eine PHP-Funktion, die das Datum und die Uhrzeit im gleichen Format wie die MySQL-Funktion NOW() ?

Ich weiß, wie man es macht, indem man date() aber ich frage, ob es eine Funktion nur für diesen Zweck gibt.

Zum Beispiel, um zurückzukehren:

2009-12-01 00:00:00

1voto

dılo sürücü Punkte 2737

In Kürze

echo date('Y-m-d H:i:s');

php advanced now class extra addMinute addYear as such addHour etc ...

<?php /** @noinspection PhpUnhandledExceptionInspection */

/**
 * Class Now
 * @author  dlo sürücü <berxudar@gmail.com>
 */
class Now
{

    /**
     * @var DateTime
     */
    private $dateTime;

    /**
     * Now constructor.
     * @throws Exception
     */
    public function __construct()
    {
        $this->dateTime = new DateTime('now');
    }

    /**
     * @param int $year
     * @return Now
     * @throws Exception
     * @noinspection PhpUnused
     */
    public function addYear(int $year): self
    {
        $this->dateTime->add(new DateInterval('P' . $year . 'Y'));

        return $this;
    }

    /**
     * @noinspection PhpUnused
     * @param int $month
     * @return Now
     * @throws Exception
     * @noinspection PhpUnused
     */
    public function addMonth(int $month):self 
    {
        $this->dateTime->add(new DateInterval('P' . $month . 'M'));

        return $this;
    }

    /**
     * @param int $day
     * @return $this
     * @throws Exception
     */
    public function addDay(int $day): self
    {
        $this->dateTime->add(new DateInterval('P' . $day . 'D'));
        return $this;
    }

    /**
     * @noinspection PhpUnused
     * @param int $week
     * @return $this
     * @throws Exception
     */
    public function addWeek(int $week): self
    {
        return $this->addDay($week * 7);
    }

    /**
     * @noinspection PhpUnused
     * @param int $second
     * @return $this
     * @throws Exception
     */
    public function addSecond(int $second): self
    {
        $this->dateTime->add(new DateInterval('PT' . $second . 'S'));
        return $this;
    }

    /**
     * @param int $minute
     * @return $this
     * @throws Exception
     */
    public function addMinute(int $minute): self
    {
        $this->dateTime->add(new DateInterval('PT' . $minute . 'M'));
        return $this;
    }

    /**
     * @param int $hour
     * @return $this
     * @throws Exception
     */
    public function addHour(int $hour): self
    {
        $this->dateTime->add(new DateInterval('PT' . $hour . 'H'));
        return $this;
    }

    /**
     * @return string
     */
    public function get(): string
    {
        return $this->dateTime->format('Y-m-d H:i:s');
    }

    /**
     * @return string
     */
    public function __toString()
    {
        return $this->get();
    }

}

/**
 * @return Now
 * @throws Exception
 */
function now()
{
    return new Now();

}

mit

  echo now(); //2020-03-10 22:10

echo now()->addDay(1); //2020-03-11 22:10

echo now()->addDay(1)->addHour(1); // //2020-03-11 23:10

echo now()->addDay(1)->addHour(1)->addMinute(30); // //2020-03-11 23:40

echo now()->addDay(1)->addHour(1)->addMinute(30)->addSecond(10); // //2020-03-11 23:50

//or u can use get method for example

echo now()->addDay(1)->addHour(1)->addMinute(30)->get(); // //2020-03-11 23:40

1voto

In PHP ist time() das logische Äquivalent zu MySQLs Funktion now().

Aber time() gibt einen Unix-Zeitstempel zurück, der sich von einem MySQL DATETIME unterscheidet.

Sie müssen also den von time() zurückgegebenen Unix-Zeitstempel in das MySQL-Format konvertieren.

Sie tun es mit: Datum("J-m-d H:i:s");

Aber wo ist time() in der Funktion date()? Es ist der zweite Parameter: Eigentlich sollte man date() einen Zeitstempel als zweiten Parameter übergeben, aber wenn dieser fehlt, wird time() verwendet.

Das ist die vollständigste Antwort, die ich mir vorstellen kann.

Grüße.

0voto

Joseph Punkte 671

Wenn Sie sich Zeit jetzt einschließlich AM / PM

<?php 
    $time_now = date("Y-m-d h:i:s a");
    echo $time_now;
?>

Sie gibt aus 2020-05-01 05:45:28 pm

ou

<?php 
    $time_now = date("Y-m-d h:i:s A");
    echo $time_now;
?>

Sie gibt aus 2020-05-01 05:45:28 PM

0voto

Das könnte Ihnen helfen

new \DateTime()

-1voto

Marco Marsala Punkte 2187

Das PHP-Äquivalent lautet time() : http://php.net/manual/en/function.time.php

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X