Welche PHP -Funktion kann das aktuelle Datum/die aktuelle Uhrzeit zurückgeben?
Die Zeit würde von Ihrem Server abgehen. Eine einfache Problemumgehung besteht darin, die Zeitzone manuell einzustellen, indem die Funktionen date_default_timezone_set
verwendet werden, 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 aktuell befindet:
date_default_timezone_get();
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 auf 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 5.2.0
können Sie dies auch mit OOP und DateTime()
tun (natürlich, wenn Sie OOP bevorzugen):
$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 die timezone
angeben:
$now = new DateTime(null, new DateTimeZone('America/New_York'));
$now->setTimezone(new DateTimeZone('Europe/London')); // Another way
echo $now->getTimezone();
Referenz: Hier ist ein Link
Dies kann zuverlässiger sein, als nur die Anzahl der Sekunden eines Tages oder eines Monats aufgrund der Sommerzeit zu einem Zeitstempel hinzuzufügen oder davon abzuziehen.
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)
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.
PHP time () gibt einen aktuellen Unix-Zeitstempel zurück. Damit können Sie die Funktion date () verwenden, um sie an Ihre Bedürfnisse anzupassen.
$date = date('Format String', time());
Wie Paolo in den Kommentaren erwähnt hat, ist das zweite Argument überflüssig. Der folgende Ausschnitt entspricht dem obigen:
$date = date('Format String');
Sie können sowohl die Variable $_SERVER['REQUEST_TIME']
als auch die Funktion time()
verwenden. Beide geben einen Unix-Zeitstempel zurück.
In den meisten Fällen liefern diese beiden Lösungen genau dasselbe Unix Timestamp . Der Unterschied besteht darin, dass $_SERVER['REQUEST_TIME']
den Zeitstempel der letzten Serveranforderung und time()
die aktuelle Uhrzeit zurückgibt. Je nach Anwendung kann dies zu geringfügigen Unterschieden in der Genauigkeit 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. Unformatierte Unix-Zeit sieht wie folgt aus: 1232659628
Um etwas zu erhalten, das funktioniert, können Sie es mit der Funktion date()
formatieren.
Eine gute Referenz für die Verwendung der date()
-Funktion finden Sie im PHP Manual .
Der folgende Code gibt beispielsweise ein Datum zurück, das wie folgt aussieht: 01/22/2009 04:35:00 pm
:
echo date("m/d/Y h:i:s a", time());
Die Funktion date von PHP kann diese Aufgabe erfüllen.
Beschreibung:
string date(string $format [, int $timestamp = time()])
Gibt eine Zeichenfolge zurück, die entsprechend der angegebenen Formatzeichenfolge mit dem angegebenen ganzzahligen Zeitstempel oder der aktuellen Uhrzeit 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');
Update
//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 PHP date () Function nützlich.
Benutzen:
$date = date('m/d/Y h:i:s a', time());
Es klappt.
echo date("d-m-Y H:i:sa");
Dieser Code ruft das Datum und die Uhrzeit des Servers ab, 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 Datetime (JETZT) mit PHP, gibt es zwei Möglichkeiten, das aktuelle Datum abzurufen. Um die aktuelle Datumszeit (jetzt) mit PHP zu erhalten, können Sie die date
-Klasse mit jeder PHP -Version oder besser die datetime
-Klasse mit PHP> = 5.2 verwenden.
Hier sind verschiedene Ausdrücke für das Datumsformat verfügbar.
Dieser Ausdruck wird JETZT im Format Y-m-d H:i:s
zurückgegeben.
<?php
echo date('Y-m-d H:i:s');
?>
Dieser Ausdruck wird JETZT im Format Y-m-d H:i:s
zurückgegeben.
<?php
$dt = new DateTime();
echo $dt->format('Y-m-d H:i:s');
?>
<?php
echo "<b>".date('l\, F jS\, Y ')."</b>";
?>
Drucke so
Sonntag, 9. Dezember 2012
es ist sehr einfach
echo $ date = date ('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_default_timezone_set('Europe/Warsaw');
echo("<p class='time'>".date('H:i:s')."</p>");
echo("<p class='date'>".date('d/m/Y')."</p>");
date(format, timestamp)
Die Funktion date
gibt eine Zeichenfolge zurück, die entsprechend der angegebenen Formatzeichenfolge mit dem angegebenen ganzzahligen Zeitstempel oder der aktuellen Uhrzeit formatiert ist, wenn kein Zeitstempel angegeben ist. Mit anderen Worten, timestamp
ist optional und hat 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 date (or time)
formatiert werden soll.
Hier sind einige Zeichen, die häufig für Datumsangaben verwendet werden:
Andere Zeichen wie "/", ".", or "-"
können auch zwischen den Zeichen eingefügt werden, um weitere 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");
?>
Sie können diesen Code verwenden:
<?php
$currentDateTime = date('Y-m-d H:i:s');
echo $currentDateTime;
?>
Wenn Sie eine andere Zeitspanne 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");
Das Datumsformat hängt auch ab:
echo date("d/m/Y H:i:sa"); // 13/04/2017 19:38:15pm
Stellen Sie Ihre Zeitzone ein:
date_default_timezone_set('Asia/Calcutta');
Rufen Sie dann die Datumsfunktionen auf
$date = date('Y-m-d H:i:s');
Ich habe festgestellt, dass der einfachste Weg, die aktuelle Uhrzeit in PHP zu ermitteln, in etwa so aussieht.
//Prints out something like 10:00am Just be sure to set your timezone correctly.
date_default_timezone_set("America/Chicago");
$TIME = date('G:ia');
Eine andere einfache Möglichkeit besteht darin, den Zeitstempel des aktuellen Datums und der aktuellen Uhrzeit zu ermitteln. 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/de/function.date.php
Hier sind einige Zeichen, die häufig für Zeiten verwendet werden:
a - Kleinbuchstabe Ante Meridiem und Post Meridiem (am oder pm)
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 aus (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:
Für den neuen PHP Programmierer kann es verwirren, warum es viele Methoden gibt, um das aktuelle Datum und die aktuelle Uhrzeit abzurufen und welche in ihrem Projekt verwendet werden sollen.
1. date
Methode (PHP 4, PHP 5, PHP 7)
Dies ist die gebräuchlichste und einfachste Methode, 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 darüber erfahren Sie in 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 darüber erfahren Sie in 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. Dieses Paket erweitert auch die DateTime-Klasse in PHP, sodass Sie die gesamte Methode in der Datetime-Klasse verwenden können. Dies ist in Frameworks wie laravel integriert, sodass Sie es nicht separat installieren müssen.
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 darüber erfahren Sie in hier
Ich hoffe, dies hilft und wenn Sie einen anderen Weg kennen, um Datum und Uhrzeit zu ermitteln, können Sie die Antwort jederzeit bearbeiten.
Wenn Sie Bangladescher sind und die Uhrzeit 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');
// 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 das Datum wie12-3-2016erhalten möchten, trennen Sie jeden Tag-, Monats- und Jahreswert.
$day = date("d");
$month = date("m");
$year = date("y");
print "date" . $day . "-" . $month . "-" . $year;
PHP gibt die aktuelle Zeit in Sekunden zurück. Sie müssen sie in einem beliebigen Format formatieren.
<?php
// time() returns current time in seconds
$in_seconds = time();
// strftime - Format a local time/date according to locale settings
echo strftime("%m/%d/%y", $in_seconds);
?>
Wir können die date
-Funktion verwenden und die Standard-Zeitzone einstellen:
<?php
date_default_timezone_set("Asia/Kolkata");
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");
echo "The time is " . date("h:i:sa");
?>
Normalerweise ist diese Datumsfunktion für alle nützlich: Datum ("Y/m/d");
Die Zeit ist jedoch etwas anderes, da die Zeitfunktion entweder von der PHP -Version oder dem 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.
Die aktuelle Uhrzeit und das aktuelle Datum erhalten Sie am besten mit der Funktion date in PHP:
$date = date('FORMAT'); // FORMAT E.g.: Y-m-d H:i:s
$current_date = date('Y-m-d H:i:s');
Mit dem Unix-Zeitstempel:
$now_date = date('FORMAT', time()); // FORMAT Eg : Y-m-d H:i:s
So legen Sie die Serverzeitzone fest:
date_default_timezone_set('Asia/Calcutta');
Eine andere Zeitzonenliste ist hier .
Sehr einfach
date_default_timezone_set('Asia/Kolkata');
$date = date('m/d/Y H:i:s', time());
echo $today = date('y-m-d');
Dies wird das heutige Datum zurückgeben.
Linux-Serverzeit und PHP time () Zeitzone wie folgt:
<?php
putenv("TZ=Asia/Kabul");
$t = time();
echo date('d/m/Y H:i:sa', $t);
?>