Hoe krijg ik de huidige datum en tijd in PHP?

Welke PHP-functie kan de huidige datum / tijd retourneren?


Antwoord 1, Autoriteit 100%

De tijd zou doorgaan met uw servertijd. Een eenvoudige oplossing hiervoor is om de tijdzone handmatig in te stellen door date_default_timezone_setvóór de date()of time()Er worden functies geroepen.

Ik ben in Melbourne, Australië dus ik heb zoiets:

date_default_timezone_set('Australia/Melbourne');

of een ander voorbeeld is LA – VS :

date_default_timezone_set('America/Los_Angeles');

U kunt ook zien welke tijdzone de server momenteel is via:

date_default_timezone_get();

Zoiets als:

$timezone = date_default_timezone_get();
echo "The current server timezone is: " . $timezone;

Dus het korte antwoord voor uw vraag zou zijn:

// Change the line below to your timezone!
date_default_timezone_set('Australia/Melbourne');
$date = date('m/d/Y h:i:s a', time());

Dan zouden alle tijden zijn voor de tijdzone die u zojuist hebt ingesteld:)


Antwoord 2, autoriteit 85%

// 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.

Voor een tijdzonereferentie, zie Lijst met ondersteunde tijdzones.


Antwoord 3, autoriteit 34%

Sinds PHP 5.2.0kun je de gebruiken DateTime()klasse:

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

En om de timezoneop te geven:

$now = new DateTime(null, new DateTimeZone('America/New_York'));
$now->setTimezone(new DateTimeZone('Europe/London'));    // Another way
echo $now->getTimezone();

Antwoord 4, autoriteit 16%

Referentie: hier is een link

Dit kan betrouwbaarder zijn dan simpelweg het aantal seconden in een dag of maand optellen of aftrekken bij een tijdstempel vanwege zomertijd.

De 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)

Antwoord 5, autoriteit 11%

PHP’s time()retourneert een huidige Unix-tijdstempel. Hiermee kunt u de functie date()gebruiken om het naar uw behoeften op te maken.

$date = date('Format String', time());

Zoals Paolo al zei in de opmerkingen, is het tweede argument overbodig. Het volgende fragment is gelijk aan het bovenstaande:

$date = date('Format String');

Antwoord 6, autoriteit 10%

Je kunt de $_SERVER['REQUEST_TIME']variabele(beschikbaar sinds PHP 5.1.0) of de time()functieom de huidige Unix-tijdstempel te krijgen.


Antwoord 7, autoriteit 9%

U kunt zowel de variabele $_SERVER['REQUEST_TIME']als de functie time()gebruiken . Beiden retourneren een Unix-tijdstempel.

Meestal zullen deze twee oplossingen exact dezelfde Unix Timestampopleveren. Het verschil tussen deze is dat $_SERVER['REQUEST_TIME']de tijdstempel van het meest recente serververzoek retourneert en time()de huidige tijd retourneert. Dit kan kleine verschillen in nauwkeurigheid veroorzaken, afhankelijk van uw toepassing, maar in de meeste gevallen zouden beide oplossingen moeten volstaan.

Op basis van je voorbeeldcode hierboven, wil je deze informatie formatteren zodra je de Unix Timestamp. Ongeformatteerde Unix-tijdziet eruit als: 1232659628

Dus om iets te krijgen dat werkt, kun je de functie date()gebruiken om het te formatteren.

Een goede referentie voor manieren om de functie date()te gebruiken is te vinden in de PHP-handleiding.

Als voorbeeld retourneert de volgende code een datum die er als volgt uitziet: 01/22/2009 04:35:00 pm:

echo date("m/d/Y h:i:s a", time());

Antwoord 8, autoriteit 7%

PHP’s datum-functie kan dit werk doen.

date()

Beschrijving:

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

Retourneert een tekenreeks die is opgemaakt volgens de opgegeven notatietekenreeks met behulp van het opgegeven gehele tijdstempel of de huidige tijd als er geen tijdstempel is opgegeven.

Voorbeelden:

$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)

Antwoord 9, autoriteit 4%

Voor de nieuwe PHP-programmeur kan het verwarrend zijn waarom er veel methoden zijn om de huidige datum en tijd te krijgen en welke ze in hun project moeten gebruiken.

1. datemethode(PHP 4, PHP 5, PHP 7)

Dit is de meest gebruikelijke en makkelijkste manier om de datum en tijd in php te krijgen.

// 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));

Je kunt er meer over leren in hier

2. datetimeklasse(PHP 5 >= 5.2.0, PHP 7)

wanneer je PHP met OOP wilt gebruiken, is dit de beste manier om datum en tijd te krijgen.

<?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";
?>

Je kunt er meer over leren in hier

3. Carbon Date-tijdpakket

als je Componistgebruikt, Laravel, Symfonyof een ander soort framework, dit is de beste manier om de datum en tijd te krijgen. Dit pakket breidt ook de DateTime-klasse in php uit, zodat je alle methoden in de Datetime-klasse gebruikt.
Dit is ingebouwd in frameworks zoals laravel, zodat je het niet apart hoeft te installeren.

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'

Je kunt er hier

meer over lezen

Ik hoop dat dit helpt en als je een andere manier weet om de datum en tijd te krijgen, voel je vrij om het antwoord te bewerken.


Antwoord 10, autoriteit 4%

$date = new DateTime('now', new DateTimeZone('Asia/Kolkata'));
 echo $date->format('d-m-Y H:i:s');

Bijwerken

//Also get am/pm in datetime:
 echo $date->format('d-m-Y H:i:s a'); // output 30-12-2013 10:16:15 am

Voor de datumnotatie, PHP date()-functieis handig.


Antwoord 11, autoriteit 4%

het is heel eenvoudig

echo $date = date(‘Y-m-d H:i:s’);


Antwoord 12, autoriteit 4%

Gebruik:

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

Het werkt.


Antwoord 13, autoriteit 3%

echo date("d-m-Y H:i:sa");

Deze code krijgt de datum en tijd van de server waarop de code wordt uitgevoerd.


Antwoord 14, autoriteit 2%

U kunt deze indeling ook gebruiken:

$date = date("d-m-Y");

Of

$date = date("Y-m-d H:i:s");

Antwoord 15, autoriteit 2%

Volgens het artikel Hoe u de huidige datetime (NOW) kunt krijgen met PHP, zijn er twee veelvoorkomende manieren om de huidige datum te krijgen. Om de huidige datetime (nu) met PHP te krijgen, kun je de klasse dategebruiken met elke PHP-versie, of beter de klasse datetimemet PHP >= 5.2.

Verschillende datumnotatie-expressies zijn hier beschikbaar.

Voorbeeld met datum

Deze uitdrukking retourneert NU in de indeling Y-m-d H:i:s.

<?php
    echo date('Y-m-d H:i:s');
?>

Voorbeeld met datetime class

Deze uitdrukking retourneert NU in de indeling Y-m-d H:i:s.

<?php
    $dt = new DateTime();
    echo $dt->format('Y-m-d H:i:s');
?>

Antwoord 16, autoriteit 2%

<?php
echo "<b>".date('l\, F jS\, Y ')."</b>";
?>

Drukt zo af

Zondag 9 december 2012


Antwoord 17, autoriteit 2%

<?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)
?>

Antwoord 18, autoriteit 2%

Stel uw tijdzone in:

date_default_timezone_set('Asia/Calcutta');

Bel vervolgens de datumfuncties aan

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

Antwoord 19, autoriteit 2%

date(format, timestamp)

De functie dateretourneert een tekenreeks die is opgemaakt volgens de opgegeven tekenreeks met het gegeven gehele tijdstempel of de huidige tijd als er geen tijdstempel is opgegeven. Met andere woorden, timestampis optioneel en standaard ingesteld op de waarde time().

En de parameters zijn –

formaat – Vereist. Specificeert het formaat van de tijdstempel

timestamp – (Optioneel) Specificeert een tijdstempel. Standaard is de huidige datum en tijd

Een eenvoudige date krijgen

De vereiste formaatparameter van de functie date()geeft aan hoe de date (or time)moet worden opgemaakt.

Hier zijn enkele tekens die vaak worden gebruikt voor datums:

  1. d – Staat voor de dag van de maand (01 tot 31)
  2. m – Staat voor een maand (01 tot 12)
  3. Y – Staat voor een jaar (in vier cijfers)
  4. l (kleine letter ‘L’) – Staat voor de dag van de week

Andere tekens, zoals "/", ".", or "-"kunnen ook tussen de tekens worden ingevoegd om extra opmaak toe te voegen.

Het onderstaande voorbeeld maakt de datum van vandaag op drie verschillende manieren op:

<?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");
?>

Enkele handige links


Antwoord 20, Autoriteit 2%

Het datumformaat is ook afhankelijk van:

echo date("d/m/Y H:i:sa"); // 13/04/2017 19:38:15pm

Antwoord 21

Als u een ander tijdschema wilt, gebruik dan:

$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");

Antwoord 22

date_default_timezone_set('Europe/Warsaw');
echo("<p class='time'>".date('H:i:s')."</p>");
echo("<p class='date'>".date('d/m/Y')."</p>");

Antwoord 23

U kunt deze code gebruiken:

<?php
    $currentDateTime = date('Y-m-d H:i:s');
    echo $currentDateTime;
?>

Antwoord 24

Ik ontdekte dat de eenvoudigste manier om de huidige tijd in PHP te krijgen, zoiets is als deze.

//Prints out something like 10:00am Just be sure to set your timezone correctly.
date_default_timezone_set("America/Chicago");
$TIME = date('G:ia'); 

Antwoord 25

Een andere eenvoudige manier is om de tijdstempel van de huidige datum en tijd te nemen. Gebruik de functie mktime():

$now = mktime(); // Return timestamp of the current time

Dan kun je dit naar een ander datumformaat converteren:

//// Prints something like: Thursday 26th of January 2017 01:12:36 PM
echo date('l jS \of F Y h:i:s A',$now);

Hier vindt u meer datumnotaties:
http://php.net/manual/en/function.date.php


Antwoord 26

Heel eenvoudig

date_default_timezone_set('Asia/Kolkata');
$date = date('m/d/Y H:i:s', time());

Antwoord 27

// 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));

Antwoord 28

Als je uit Bangladesh komt en je wilt de tijd van Dhakagebruiken, gebruik dan dit:

$date = new DateTime();
$date->setTimeZone(new DateTimeZone("Asia/Dhaka"));
$get_datetime = $date->format('d.m.Y H:i:s');

Antwoord 29

Normaal gesproken is deze functie voor datum nuttig voor iedereen: date(“Y/m/d”);

Maar tijd is iets anders, omdat de tijdfunctie afhangt van de PHP-versie of de systeemdatum.

Gebruik het dus waarschijnlijk zo om onze eigen tijdzone te krijgen:

$date = new DateTime('now', new DateTimeZone('Asia/Kolkata'));
echo $date->format('H:m:s');

Deze functie toont de tijd van 24 uur.


Antwoord 30

echo date('y-m-d'); // Today

Hiermee wordt de datum van vandaag geretourneerd.

Other episodes