Welche PHP-Funktion kann das aktuelle Datum / die aktuelle Uhrzeit zurückgeben?
Welche PHP-Funktion kann das aktuelle Datum / die aktuelle Uhrzeit zurückgeben?
Antworten:
Die Zeit würde von Ihrer Serverzeit vergehen. Eine einfache Problemumgehung besteht darin, die Zeitzone manuell festzulegen, date_default_timezone_set
bevor die Funktionen date()
oder time()
aufgerufen werden.
Ich bin in Melbourne, Australien, also habe ich so etwas:
date_default_timezone_set('Australia/Melbourne');
Oder ein anderes Beispiel ist LA - US :
date_default_timezone_set('America/Los_Angeles');
Sie können auch sehen, in welcher Zeitzone sich der Server gerade befindet über:
date_default_timezone_get();
Also so etwas wie:
$timezone = date_default_timezone_get();
echo "The current server timezone is: " . $timezone;
Die kurze Antwort auf Ihre Frage wäre also:
// Change the line below to your timezone!
date_default_timezone_set('Australia/Melbourne');
$date = date('m/d/Y h:i:s a', time());
Dann wären alle Zeiten die Zeitzone, die Sie gerade eingestellt haben :)
// Simply:
$date = date('Y-m-d H:i:s');
// Or:
$date = date('Y/m/d H:i:s');
// This would return the date in the following formats respectively:
$date = '2012-03-06 17:33:07';
// Or
$date = '2012/03/06 17:33:07';
/**
* This time is based on the default server time zone.
* If you want the date in a different time zone,
* say if you come from Nairobi, Kenya like I do, you can set
* the time zone to Nairobi as shown below.
*/
date_default_timezone_set('Africa/Nairobi');
// Then call the date functions
$date = date('Y-m-d H:i:s');
// Or
$date = date('Y/m/d H:i:s');
// date_default_timezone_set() function is however
// supported by PHP version 5.1.0 or above.
Eine Zeitzonenreferenz finden Sie unter Liste der unterstützten Zeitzonen .
Seit PHP können 5.2.0
Sie die DateTime()
Klasse verwenden:
use \Datetime;
$now = new DateTime();
echo $now->format('Y-m-d H:i:s'); // MySQL datetime format
echo $now->getTimestamp(); // Unix Timestamp -- Since PHP 5.3
Und um Folgendes anzugeben timezone
:
$now = new DateTime(null, new DateTimeZone('America/New_York'));
$now->setTimezone(new DateTimeZone('Europe/London')); // Another way
echo $now->getTimezone();
Datatime
Namespace; Ich kann mich nicht erinnern, ob dies 2013 der Fall war und ich seit Jahren keinen PHP-Code mehr geschrieben habe. Unabhängig davon scheint Ihr Vorschlag richtig zu sein, also nochmals vielen Dank.
Referenz: Hier ist ein Link
Dies kann aufgrund der Sommerzeit zuverlässiger sein als das einfache Hinzufügen oder Subtrahieren der Anzahl von Sekunden pro Tag oder Monat zu einem Zeitstempel.
Der PHP-Code
// Assuming today is March 10th, 2001, 5:16:18 pm, and that we are in the
// Mountain Standard Time (MST) Time Zone
$today = date("F j, Y, g:i a"); // March 10, 2001, 5:16 pm
$today = date("m.d.y"); // 03.10.01
$today = date("j, n, Y"); // 10, 3, 2001
$today = date("Ymd"); // 20010310
$today = date('h-i-s, j-m-y, it is w Day'); // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$today = date('\i\t \i\s \t\h\e jS \d\a\y.'); // it is the 10th day.
$today = date("D M j G:i:s T Y"); // Sat Mar 10 17:16:18 MST 2001
$today = date('H:m:s \m \i\s\ \m\o\n\t\h'); // 17:03:18 m is month
$today = date("H:i:s"); // 17:16:18
$today = date("Y-m-d H:i:s"); // 2001-03-10 17:16:18 (the MySQL DATETIME format)
PHPs time () gibt einen aktuellen Unix-Zeitstempel zurück. Mit dieser Funktion können Sie die Funktion date () verwenden, um sie Ihren Anforderungen entsprechend zu formatieren.
$date = date('Format String', time());
Wie Paolo in den Kommentaren erwähnt hat, ist das zweite Argument überflüssig. Das folgende Snippet entspricht dem obigen:
$date = date('Format String');
Sie können entweder die $_SERVER['REQUEST_TIME']
Variable (verfügbar seit PHP 5.1.0) oder die time()
Funktion verwenden , um den aktuellen Unix-Zeitstempel abzurufen.
time()
Funktion zurückgegebene Zeitstempel unabhängig von der Zeitzone ist. (Ein vorheriger Anruf date_default_timezone_set("your-particular-timezone");
hat also keine Auswirkung.)
Sie können sowohl die $_SERVER['REQUEST_TIME']
Variable als auch die time()
Funktion verwenden. Beide geben einen Unix-Zeitstempel zurück.
Meistens liefern diese beiden Lösungen genau den gleichen Unix-Zeitstempel . Der Unterschied besteht darin, dass $_SERVER['REQUEST_TIME']
der Zeitstempel der letzten Serveranforderung und time()
die aktuelle Zeit zurückgegeben werden. Dies kann je nach Anwendung zu geringfügigen Genauigkeitsunterschieden führen. In den meisten Fällen sollten jedoch beide Lösungen ausreichen.
Basierend auf Ihrem obigen Beispielcode möchten Sie diese Informationen formatieren, sobald Sie den Unix-Zeitstempel erhalten haben . Die unformatierte Unix-Zeit sieht folgendermaßen aus:1232659628
Um etwas zu erhalten, das funktioniert, können Sie die date()
Funktion zum Formatieren verwenden.
Eine gute Referenz für die Verwendung der date()
Funktion finden Sie im PHP-Handbuch .
Als Beispiel gibt den folgenden Code ein Datum , das wie folgt aussieht: 01/22/2009 04:35:00 pm
:
echo date("m/d/Y h:i:s a", time());
$_SERVER['REQUEST_TIME']
?
PHP- Datum - Funktion kann diesen Job machen.
Beschreibung:
string date(string $format [, int $timestamp = time()])
Gibt eine Zeichenfolge zurück, die gemäß der angegebenen Formatzeichenfolge unter Verwendung des angegebenen ganzzahligen Zeitstempels oder der aktuellen Zeit formatiert ist, wenn kein Zeitstempel angegeben ist.
Beispiele:
$today = date("F j, Y, g:i a"); // March 10, 2001, 5:16 pm
$today = date("m.d.y"); // 03.10.01
$today = date("j, n, Y"); // 10, 3, 2001
$today = date("Ymd"); // 20010310
$today = date('h-i-s, j-m-y, it is w Day'); // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$today = date('\i\t \i\s \t\h\e jS \d\a\y.'); // it is the 10th day.
$today = date("D M j G:i:s T Y"); // Sat Mar 10 17:16:18 MST 2001
$today = date('H:m:s \m \i\s\ \m\o\n\t\h'); // 17:03:18 m is month
$today = date("H:i:s"); // 17:16:18
$today = date("Y-m-d H:i:s"); // 2001-03-10 17:16:18 (the MySQL DATETIME format)
$date = new DateTime('now', new DateTimeZone('Asia/Kolkata'));
echo $date->format('d-m-Y H:i:s');
Aktualisieren
//Also get am/pm in datetime:
echo $date->format('d-m-Y H:i:s a'); // output 30-12-2013 10:16:15 am
Für das Datumsformat ist die PHP-Funktion date () hilfreich.
es ist sehr einfach
echo $ date = date ('Ymd H: i: s');
Für den neuen PHP könnte der Programmierer verwirren, warum es viele Methoden gibt, um das aktuelle Datum und die aktuelle Uhrzeit abzurufen und welche in seinem Projekt verwendet werden sollen.
1. date
Methode (PHP 4, PHP 5, PHP 7)
Dies ist der häufigste und einfachste Weg, um Datum und Uhrzeit in PHP abzurufen.
// set the default timezone to use. Available since PHP 5.1
date_default_timezone_set('UTC');
// Prints something like: Monday
echo date("l");
// Prints something like: Monday 8th of August 2005 03:12:46 PM
echo date('l jS \of F Y h:i:s A');
// Prints: July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000));
/* use the constants in the format parameter */
// prints something like: Wed, 25 Sep 2013 15:28:57 -0700
echo date(DATE_RFC2822);
// prints something like: 2000-07-01T00:00:00+00:00
echo date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000));
Mehr dazu erfahren Sie hier
2. DateTime
Klasse (PHP 5> = 5.2.0, PHP 7)
Wenn Sie PHP mit OOP verwenden möchten, ist dies der beste Weg, um Datum und Uhrzeit abzurufen.
<?php
// Specified date/time in your computer's time zone.
$date = new DateTime('2000-01-01');
echo $date->format('Y-m-d H:i:sP') . "\n";
// Specified date/time in the specified time zone.
$date = new DateTime('2000-01-01', new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";
// Current date/time in your computer's time zone.
$date = new DateTime();
echo $date->format('Y-m-d H:i:sP') . "\n";
// Current date/time in the specified time zone.
$date = new DateTime(null, new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";
// Using a UNIX timestamp. Notice the result is in the UTC time zone.
$date = new DateTime('@946684800');
echo $date->format('Y-m-d H:i:sP') . "\n";
// Non-existent values roll over.
$date = new DateTime('2000-02-30');
echo $date->format('Y-m-d H:i:sP') . "\n";
?>
Mehr dazu erfahren Sie hier
3. Carbon Date Zeitpaket
Wenn Sie Composer , Laravel , Symfony oder ein anderes Framework verwenden, ist dies der beste Weg, um Datum und Uhrzeit zu ermitteln. Außerdem erweitert dieses Paket die DateTime-Klasse in PHP, sodass Sie alle Methoden in der Datetime-Klasse verwenden. Diese eingebauten Frameworks wie Laravel müssen nicht separat installiert werden.
printf("Right now is %s", Carbon::now()->toDateTimeString());
printf("Right now in Vancouver is %s", Carbon::now('America/Vancouver')); // automatically converted to string
$tomorrow = Carbon::now()->addDay();
$lastWeek = Carbon::now()->subWeek();
// Carbon embed 823 languages:
echo $tomorrow->locale('fr')->isoFormat('dddd, MMMM Do YYYY, h:mm');
echo $tomorrow->locale('ar')->isoFormat('dddd, MMMM Do YYYY, h:mm');
$officialDate = Carbon::now()->toRfc2822String();
$howOldAmI = Carbon::createFromDate(1975, 5, 21)->age;
$noonTodayLondonTime = Carbon::createFromTime(12, 0, 0, 'Europe/London');
$internetWillBlowUpOn = Carbon::create(2038, 01, 19, 3, 14, 7, 'GMT');
if (Carbon::now()->isWeekend()) {
echo 'Party!';
}
echo Carbon::now()->subMinutes(2)->diffForHumans(); // '2 minutes ago'
Mehr dazu erfahren Sie hier
Ich hoffe, dies hilft und wenn Sie einen anderen Weg kennen, um Datum und Uhrzeit zu erhalten, können Sie die Antwort bearbeiten.
Verwenden:
$date = date('m/d/Y h:i:s a', time());
Es klappt.
echo date("d-m-Y H:i:sa");
Dieser Code erhält das Datum und die Uhrzeit des Servers, auf dem der Code ausgeführt wird.
Sie können dieses Format auch verwenden:
$date = date("d-m-Y");
Oder
$date = date("Y-m-d H:i:s");
Gemäß dem Artikel So erhalten Sie die aktuelle Datums- und Uhrzeitangabe (NOW) mit PHP gibt es zwei gängige Methoden, um das aktuelle Datum abzurufen . Um die aktuelle Datumszeit (jetzt) mit PHP abzurufen, können Sie die date
Klasse mit jeder PHP-Version oder besser datetime
mit PHP> = 5.2 verwenden.
Hier stehen verschiedene Datumsformatausdrücke zur Verfügung.
Dieser Ausdruck gibt JETZT im Format zurück Y-m-d H:i:s
.
<?php
echo date('Y-m-d H:i:s');
?>
Dieser Ausdruck gibt JETZT im Format zurück Y-m-d H:i:s
.
<?php
$dt = new DateTime();
echo $dt->format('Y-m-d H:i:s');
?>
<?php
// Assuming today is March 10th, 2001, 5:16:18 pm, and that we are in the
// Mountain Standard Time (MST) Time Zone
$today = date("F j, Y, g:i a"); // March 10, 2001, 5:16 pm
$today = date("m.d.y"); // 03.10.01
$today = date("j, n, Y"); // 10, 3, 2001
$today = date("Ymd"); // 20010310
$today = date('h-i-s, j-m-y, it is w Day'); // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$today = date('\i\t \i\s \t\h\e jS \d\a\y.'); // it is the 10th day.
$today = date("D M j G:i:s T Y"); // Sat Mar 10 17:16:18 MST 2001
$today = date('H:m:s \m \i\s\ \m\o\n\t\h'); // 17:03:18 m is month
$today = date("H:i:s"); // 17:16:18
$today = date("Y-m-d H:i:s"); // 2001-03-10 17:16:18 (the MySQL DATETIME format)
?>
date(format, timestamp)
Die date
Funktion gibt eine Zeichenfolge zurück, die gemäß der angegebenen Formatzeichenfolge unter Verwendung des angegebenen ganzzahligen Zeitstempels oder der aktuellen Zeit formatiert ist, wenn kein Zeitstempel angegeben ist. Mit anderen Worten, timestamp
ist optional und verwendet standardmäßig den Wert von time ().
Und die Parameter sind -
Format - Erforderlich. Gibt das Format des Zeitstempels an
Zeitstempel - (Optional) Gibt einen Zeitstempel an. Standard ist das aktuelle Datum und die aktuelle Uhrzeit
Der erforderliche Formatparameter der date()
Funktion gibt an, wie die formatiert werden soll date (or time)
.
Hier sind einige Zeichen, die häufig für Datumsangaben verwendet werden:
Andere Zeichen wie "/", ".", or "-"
können auch zwischen die Zeichen eingefügt werden, um zusätzliche Formatierungen hinzuzufügen.
Das folgende Beispiel formatiert das heutige Datum auf drei verschiedene Arten:
<?php
echo "Today is " . date("Y/m/d") . "<br>";
echo "Today is " . date("Y.m.d") . "<br>";
echo "Today is " . date("Y-m-d") . "<br>";
echo "Today is " . date("l");
?>
Wenn Sie eine andere Zeitskala wünschen, verwenden Sie bitte:
$tomorrow = mktime(0, 0, 0, date("m") , date("d")+1, date("Y"));
$lastmonth = mktime(0, 0, 0, date("m")-1, date("d"), date("Y"));
$nextyear = mktime(0, 0, 0, date("m"), date("d"), date("Y")+1);
date_default_timezone_set("Asia/Calcutta");
echo date("Y/m/d H:i:s");
date_default_timezone_set('Europe/Warsaw');
echo("<p class='time'>".date('H:i:s')."</p>");
echo("<p class='date'>".date('d/m/Y')."</p>");
Das Datumsformat hängt auch ab:
echo date("d/m/Y H:i:sa"); // 13/04/2017 19:38:15pm
Sie können diesen Code verwenden:
<?php
$currentDateTime = date('Y-m-d H:i:s');
echo $currentDateTime;
?>
Eine andere einfache Möglichkeit besteht darin, den Zeitstempel des aktuellen Datums und der aktuellen Uhrzeit zu verwenden. Verwenden Sie die Funktion mktime () :
$now = mktime(); // Return timestamp of the current time
Dann können Sie dies in ein anderes Datumsformat konvertieren:
//// Prints something like: Thursday 26th of January 2017 01:12:36 PM
echo date('l jS \of F Y h:i:s A',$now);
Weitere Datumsformate finden Sie hier: http://php.net/manual/en/function.date.php
Sehr einfach
date_default_timezone_set('Asia/Kolkata');
$date = date('m/d/Y H:i:s', time());
// Set the default timezone to use. Available since PHP 5.1
date_default_timezone_set('UTC');
// Prints something like: Monday
echo date("l");
// Prints something like: Monday 8th of August 2016 03:12:46 PM
echo date('l jS \of F Y h:i:s A');
// Prints: July 1, 2016 is on a Saturday
echo "July 1, 2016 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2016));
/* Use the constants in the format parameter */
// Prints something like: Wed, 25 Sep 2013 15:28:57 -0700
echo date(DATE_RFC2822);
// Prints something like: 2016-07-01T00:00:00+00:00
echo date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000));
Wenn Sie Bangladescher sind und die Zeit von Dhaka erhalten möchten, verwenden Sie Folgendes :
$date = new DateTime();
$date->setTimeZone(new DateTimeZone("Asia/Dhaka"));
$get_datetime = $date->format('d.m.Y H:i:s');
Normalerweise ist diese Funktion für Datum für alle nützlich: Datum ("J / m / d");
Die Zeit ist jedoch etwas anderes, da die Zeitfunktion entweder von der PHP-Version oder vom Systemdatum abhängt.
Verwenden Sie es also wahrscheinlich so, um unsere eigene Zeitzone zu erhalten:
$date = new DateTime('now', new DateTimeZone('Asia/Kolkata'));
echo $date->format('H:m:s');
Diese Funktion zeigt die 24-Stunden-Zeit an.
Hier sind einige Zeichen, die häufig für Zeiten verwendet werden:
a - Kleinbuchstaben Ante meridiem und Post meridiem (morgens oder abends)
Holen Sie sich Ihre Zeitzone
<?php
date_default_timezone_set("America/New_York");
echo "The time is " . date("h:i:sa");
?>
Überprüfen Sie dies (optional)
<?php
$d = mktime(11, 14, 54, 8, 12, 2014);
echo "Created date is " . date("Y-m-d h:i:sa", $d);
?>
Für Datum
<?php
echo "Today is " . date("Y/m/d") . ;
echo "Today is " . date("Y.m.d") . ;
echo "Today is " . date("Y-m-d") . ;
echo "Today is " . date("l");
?>
Hier sind einige Zeichen, die häufig für Datumsangaben verwendet werden:
.
in date("Y/m/d") . ;
?
$date = date('m/d/Y h:i:s a', time());