Quelle fonction PHP peut renvoyer la date/heure actuelle?
Le temps passerait par votre temps de serveur. Une solution de contournement simple consiste à définir manuellement le fuseau horaire à l’aide de date_default_timezone_set
avant que les fonctions date()
ou time()
soient appelées.
Je suis à Melbourne, Australie donc j'ai quelque chose comme ça:
date_default_timezone_set('Australia/Melbourne');
Ou un autre exemple est LA - US :
date_default_timezone_set('America/Los_Angeles');
Vous pouvez également voir le fuseau horaire actuel du serveur via:
date_default_timezone_get();
Donc, quelque chose comme:
$timezone = date_default_timezone_get();
echo "The current server timezone is: " . $timezone;
Donc, la réponse courte à votre question serait:
// Change the line below to your timezone!
date_default_timezone_set('Australia/Melbourne');
$date = date('m/d/Y h:i:s a', time());
Ensuite, toutes les heures seraient au fuseau horaire que vous venez de définir :)
// 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.
Pour une référence de fuseau horaire, voir Liste des fuseaux horaires pris en charge.
Depuis PHP 5.2.0
, vous pouvez le faire en utilisant OOP et DateTime()
ainsi (bien sûr si vous préférez OOP):
$now = new DateTime();
echo $now->format('Y-m-d H:i:s'); // MySQL datetime format
echo $now->getTimestamp(); // Unix Timestamp -- Since PHP 5.3
Et pour spécifier la timezone
:
$now = new DateTime(null, new DateTimeZone('America/New_York'));
$now->setTimezone(new DateTimeZone('Europe/London')); // Another way
echo $now->getTimezone();
Référence: Voici un lien
Cela peut être plus fiable que simplement ajouter ou soustraire le nombre de secondes d'un jour ou d'un mois à un horodatage en raison de l'heure d'été.
Le code 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)
Vous pouvez utiliser la variable $_SERVER['REQUEST_TIME']
(disponible depuis PHP 5.1.0) ou la fonction time()
pour obtenir l’horodatage Unix actuel.
Time () de PHP renvoie un horodatage Unix en cours. Avec cela, vous pouvez utiliser la fonction date () pour l’adapter à vos besoins.
$date = date('Format String', time());
Comme Paolo l'a mentionné dans les commentaires, le deuxième argument est redondant. L'extrait suivant est équivalent à celui ci-dessus:
$date = date('Format String');
Vous pouvez utiliser à la fois la variable $_SERVER['REQUEST_TIME']
ou la fonction time()
. Tous les deux renvoient un timestamp Unix.
La plupart du temps, ces deux solutions donneront exactement la même chose Unix Timestamp . La différence entre ceux-ci est que $_SERVER['REQUEST_TIME']
renvoie l'horodatage de la demande de serveur la plus récente et time()
renvoie l'heure actuelle. Cela peut créer des différences mineures de précision en fonction de votre application, mais dans la plupart des cas, ces deux solutions devraient suffire.
Selon l'exemple de code ci-dessus, vous souhaiterez formater ces informations une fois que vous aurez obtenu le Unix Timestamp . Unformatted heure Unix ressemble à: 1232659628
Donc, pour obtenir quelque chose qui fonctionnera, vous pouvez utiliser la fonction date()
pour le formater.
Une bonne référence pour savoir comment utiliser la fonction date()
se trouve dans le manuel PHP Manual .
Par exemple, le code suivant renvoie une date qui ressemble à ceci: 01/22/2009 04:35:00 pm
:
echo date("m/d/Y h:i:s a", time());
La fonction date de PHP peut faire ce travail.
La description:
string date(string $format [, int $timestamp = time()])
Retourne une chaîne formatée en fonction de la chaîne de format donnée en utilisant l'horodatage entier donné ou l'heure actuelle si aucun horodatage n'est donné.
Exemples:
$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');
Mettre à jour
//Also get am/pm in datetime:
echo $date->format('d-m-Y H:i:s a'); // output 30-12-2013 10:16:15 am
Pour le format de date, PHP date () Function est utile.
Utilisation:
$date = date('m/d/Y h:i:s a', time());
Ça marche.
echo date("d-m-Y H:i:sa");
Ce code obtiendra la date et l'heure du serveur sur lequel le code est exécuté.
Vous pouvez aussi utiliser ce format:
$date = date("d-m-Y");
Ou
$date = date("Y-m-d H:i:s");
Selon l'article Comment obtenir l'heure actuelle (NOW) avec PHP, il existe deux méthodes courantes pour obtenir la date actuelle. Pour obtenir la date/heure actuelle (maintenant) avec PHP, vous pouvez utiliser la classe date
avec n’importe quelle version PHP ou mieux la classe datetime
avec PHP> = 5.2.
Diverses expressions de format de date sont disponibles ici.
Cette expression renverra NOW au format Y-m-d H:i:s
.
<?php
echo date('Y-m-d H:i:s');
?>
Cette expression renverra NOW au format Y-m-d H:i:s
.
<?php
$dt = new DateTime();
echo $dt->format('Y-m-d H:i:s');
?>
<?php
echo "<b>".date('l\, F jS\, Y ')."</b>";
?>
Des impressions comme ça
Dimanche 9 décembre 2012
c'est très simple
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)
La fonction date
renvoie une chaîne formatée en fonction de la chaîne de format donnée en utilisant l'horodatage entier donné ou l'heure actuelle si aucun horodatage n'est indiqué. En d'autres termes, timestamp
est facultatif et correspond par défaut à la valeur time ().
Et les paramètres sont -
format - Obligatoire. Spécifie le format de l'horodatage
timestamp - (Facultatif) Spécifie un horodatage. La valeur par défaut est la date et l'heure actuelles
Le paramètre de format requis de la fonction date()
spécifie comment formater la date (or time)
.
Voici quelques caractères couramment utilisés pour les dates:
D'autres caractères, tels que "/", ".", or "-"
, peuvent également être insérés entre les caractères pour ajouter un formatage supplémentaire.
L'exemple ci-dessous formate la date du jour de trois manières différentes:
<?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");
?>
Vous pouvez utiliser ce code:
<?php
$currentDateTime = date('Y-m-d H:i:s');
echo $currentDateTime;
?>
Si vous voulez une échelle de temps différente, veuillez utiliser:
$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");
Le format de la date dépend aussi:
echo date("d/m/Y H:i:sa"); // 13/04/2017 19:38:15pm
Définissez votre fuseau horaire:
date_default_timezone_set('Asia/Calcutta');
Puis appelez les fonctions de date
$date = date('Y-m-d H:i:s');
J'ai trouvé que le moyen le plus simple d'obtenir l'heure actuelle dans PHP est quelque chose comme ceci.
//Prints out something like 10:00am Just be sure to set your timezone correctly.
date_default_timezone_set("America/Chicago");
$TIME = date('G:ia');
Un autre moyen simple consiste à prendre l'horodatage de la date et de l'heure actuelles. Utilisez la fonction mktime ():
$now = mktime(); // Return timestamp of the current time
Ensuite, vous pouvez convertir ceci en un autre format de date:
//// Prints something like: Thursday 26th of January 2017 01:12:36 PM
echo date('l jS \of F Y h:i:s A',$now);
Plus de formats de date sont ici: http://php.net/manual/en/function.date.php
Voici quelques caractères couramment utilisés pour les époques:
a - Minuscules Ante Meridiem et Post Meridiem (am ou pm)
Obtenez votre fuseau horaire
<?php
date_default_timezone_set("America/New_York");
echo "The time is " . date("h:i:sa");
?>
Découvrez ceci (facultatif) _
<?php
$d = mktime(11, 14, 54, 8, 12, 2014);
echo "Created date is " . date("Y-m-d h:i:sa", $d);
?>
Pour date
<?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");
?>
Voici quelques caractères couramment utilisés pour les dates:
Pour le nouveau PHP, le programmeur peut avoir du mal à comprendre pourquoi il existe de nombreuses méthodes pour obtenir la date et l'heure actuelles et la méthode à utiliser dans leur projet.
1. Méthode date
(PHP 4, PHP 5, PHP 7)
C'est le moyen le plus courant et le plus simple d'obtenir la date et l'heure en php.
// 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));
Vous pouvez en apprendre plus à ce sujet dans ici
2. DateTime
class (PHP 5> = 5.2.0, PHP 7)
lorsque vous souhaitez utiliser PHP avec le POO, c'est le meilleur moyen d'obtenir la date et l'heure.
<?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";
?>
Vous pouvez en apprendre plus à ce sujet dans ici
3. Carbone Date heure paquet
si vous utilisez Compositeur , Laravel , Symfony ou tout autre type de cadre, c'est le meilleur moyen d'obtenir la date et l'heure. De plus, ce paquetage étend la classe DateTime dans php afin que vous utilisiez toute la méthode de la classe Datetime. Ces frameworks intégrés tels que laravel ne vous obligent donc pas à l'installer séparément.
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'
Vous pouvez en apprendre plus à ce sujet dans ici
J'espère que cela vous aidera et si vous connaissez un autre moyen d'obtenir la date et l'heure, n'hésitez pas à modifier la réponse.
Si vous êtes bangladais et que vous voulez obtenir l'heure de Dhaka , utilisez ceci:
$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));
Si vous voulez obtenir la date comme12-3-2016, séparez chaque valeur de jour, mois et année, puis copiez-collez ce code:
$day = date("d");
$month = date("m");
$year = date("y");
print "date" . $day . "-" . $month . "-" . $year;
PHP renvoie l'heure actuelle en secondes. Vous devez les formater dans le format de votre choix.
<?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);
?>
Nous pouvons utiliser la fonction date
et définir le fuseau horaire par défaut:
<?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");
?>
Normalement, cette fonction pour la date est utile pour tout le monde: date ("J/m/j");
Mais le temps est quelque chose de différent, car la fonction time dépend de la version de PHP ou de la date du système.
Donc, utilisez probablement ceci comme ceci pour obtenir notre propre fuseau horaire:
$date = new DateTime('now', new DateTimeZone('Asia/Kolkata'));
echo $date->format('H:m:s');
Cette fonction affiche l'heure sur 24 heures.
Le meilleur moyen d'obtenir l'heure et la date actuelles est d'utiliser la fonction date en PHP:
$date = date('FORMAT'); // FORMAT E.g.: Y-m-d H:i:s
$current_date = date('Y-m-d H:i:s');
Avec l'horodatage Unix:
$now_date = date('FORMAT', time()); // FORMAT Eg : Y-m-d H:i:s
Pour définir le fuseau horaire du serveur:
date_default_timezone_set('Asia/Calcutta');
Une liste de fuseaux horaires différente est ici .
Très simple
date_default_timezone_set('Asia/Kolkata');
$date = date('m/d/Y H:i:s', time());
echo $today = date('y-m-d');
Cela retournera la date d'aujourd'hui.
L'heure du serveur Linux et le fuseau horaire du décalage PHP time () comme suit:
<?php
putenv("TZ=Asia/Kabul");
$t = time();
echo date('d/m/Y H:i:sa', $t);
?>