980 votes

Obtenir la date et l'heure actuelles en PHP

Quelle fonction PHP peut retourner la date et l'heure actuelles ?

3 votes

TLDR ; $date = date('m/d/Y h:i:s a', time());

1 votes

Il semble que nous ne puissions pas obtenir l'heure du système qui visite le site, sauf en utilisant javascript. En PHP, nous pouvons définir un fuseau horaire fixe pour obtenir l'heure actuelle de ce fuseau.

72voto

Gumbo Points 279147

Vous pouvez soit utiliser le $_SERVER['REQUEST_TIME'] variable (disponible depuis PHP 5.1.0) ou l'option time() fonction pour obtenir l'horodatage Unix actuel.

64voto

Shane Larson Points 590

Vous pouvez utiliser à la fois le $_SERVER['REQUEST_TIME'] ou la variable time() fonction. Ces deux fonctions renvoient un horodatage Unix.

La plupart du temps, ces deux solutions donnent exactement le même résultat. Horodatage Unix . La différence entre les deux est la suivante $_SERVER['REQUEST_TIME'] renvoie l'horodatage de la requête la plus récente du serveur 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.

Sur la base de l'exemple de code ci-dessus, vous allez vouloir formater cette information une fois que vous aurez obtenu l'adresse de l'utilisateur. Horodatage Unix . Non formaté Temps Unix ressemble : 1232659628

Ainsi, pour obtenir quelque chose qui fonctionne, vous pouvez utiliser la fonction date() pour le formater.

Une bonne référence pour les façons d'utiliser le date() est située dans le fichier Manuel PHP .

À titre d'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());

47voto

Subodh Ghulaxe Points 2346

PHP date peut faire ce travail.

date()

Description :

string date(string $format [, int $timestamp = time()])

Renvoie une chaîne de caractères formatée selon la chaîne de format donnée en utilisant le timestamp entier donné ou l'heure actuelle si aucun timestamp 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)

31voto

Supun Praneeth Points 1252

Le nouveau programmeur PHP peut se demander pourquoi il existe de nombreuses méthodes pour obtenir la date et l'heure actuelles et laquelle utiliser dans son projet.

1. date méthode (PHP 4, PHP 5, PHP 7)

C'est la façon la plus courante et la 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 savoir plus à ce sujet dans ici

2. DateTime classe (PHP 5 >= 5.2.0, PHP 7)

lorsque vous voulez utiliser PHP avec la POO, c'est la meilleure façon 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 savoir plus à ce sujet dans ici

3. Paquet de date et heure du carbone

si vous utilisez Compositeur , Laravel , Symfony ou toute autre structure, c'est la meilleure façon d'obtenir la date et l'heure. De plus, ce package étend la classe DateTime en php, ce qui permet d'utiliser toutes les méthodes de la classe Datetime. Il est intégré dans des frameworks comme Laravel et vous n'avez pas besoin de 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 savoir 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.

28voto

Utilisez :

$date = date('m/d/Y h:i:s a', time());

Ça marche.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X