web-gelistirme-sc.com

PHP'de güncel tarih ve saat nasıl alınır?

Mevcut tarih/saati hangi PHP işlevi döndürebilir?

731
Mike

Saat sunucu saatinize göre gider. Bunun için kolay bir geçici çözüm, date() veya time() işlevlerinin çağrılmasından önce date_default_timezone_set kullanarak saat dilimini el ile ayarlamaktır.

Melbourne'dayım, Australia böyle bir şeyim var:

date_default_timezone_set('Australia/Melbourne');

Ya da başka bir örnek LA - US :

date_default_timezone_set('America/Los_Angeles');

Sunucunun şu anda hangi saat diliminde olduğunu da görebilirsiniz:

date_default_timezone_get();

Yani şöyle bir şey:

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

Yani sorunuzun kısa cevabı şöyle olacaktır:

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

O zaman tüm zamanlar az önce ayarladığınız saat dilimine göre olur :)

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

Bir saat dilimi referansı için bkz. Desteklenen Zaman Dilimlerinin Listesi.

435

PHP 5.2.0 öğesinden bu yana OOP ve DateTime() komutunu kullanarak da yapabilirsiniz (elbette OOP'u tercih ederseniz):

$now = new DateTime();
echo $now->format('Y-m-d H:i:s');    // MySQL datetime format
echo $now->getTimestamp();           // Unix Timestamp -- Since PHP 5.3

Ve timezone değerini belirtmek için:

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

Referans: İşte bir bağlantı

Bu, bir gün veya bir ay içindeki saniye sayısını, gün ışığından yararlanma saati nedeniyle bir zaman damgasına eklemek veya çıkarmaktan daha güvenilir olabilir.

PHP kodu

// 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)
81
ShapCyber

Geçerli Unix zaman damgasını almak için $_SERVER['REQUEST_TIME'] değişkenini (PHP 5.1.0'dan beri kullanılabilir) veya time() işlevini kullanabilirsiniz.

58
Gumbo

PHP'nin time () , geçerli bir Unix zaman damgasını döndürür. Bununla, date () fonksiyonunu kullanarak ihtiyaçlarınıza göre formatlayabilirsiniz.

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

Paolo yorumlarda belirtildiği gibi, ikinci argüman gereksizdir. Aşağıdaki kod parçası yukarıdakiyle eşdeğerdir:

$date = date('Format String');
58
Rob Hruska

Hem $_SERVER['REQUEST_TIME'] değişkeni hem de time() işlevini kullanabilirsiniz. Bunların her ikisi de bir Unix zaman damgası döndürür. 

Çoğu zaman bu iki çözüm tam olarak aynı şeyi verecektir Unix Timestamp . Bunların arasındaki fark, $_SERVER['REQUEST_TIME'] dosyasının en son sunucu isteğinin zaman damgasını ve time() öğesinin geçerli saati döndürmesidir. Bu, uygulamanıza bağlı olarak doğrulukta küçük farklılıklar yaratabilir, ancak çoğu durumda bu çözümlerin her ikisi için de yeterli olmalıdır.

Yukarıdaki örnek kodunuza dayanarak, Unix Timestamp 'u aldıktan sonra bu bilgiyi biçimlendirmek isteyeceksiniz. Biçimlendirilmemiş Unix zamanı benzeyen: 1232659628

Böylece işe yarayacak bir şey elde etmek için, onu formatlamak için date() işlevini kullanabilirsiniz.

date() işlevini kullanma yolları için iyi bir referans, PHP El Kitabı 'da bulunur.

Örnek olarak, aşağıdaki kod şuna benzeyen bir tarih döndürür: 01/22/2009 04:35:00 pm:

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

PHP'nin tarih işlevi bu işi yapabilir.

tarih ()

Açıklama:

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

Belirtilen tamsayı zaman damgasını veya verilen zaman damgası yoksa geçerli saati kullanarak verilen format dize göre formatlanmış bir dize döndürür.

Örnekler:

$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)
43
Subodh Ghulaxe
 $date = new DateTime('now', new DateTimeZone('Asia/Kolkata'));
 echo $date->format('d-m-Y H:i:s');

Güncelle

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

Tarih formatı için, PHP date () İşlev kullanışlıdır.

23
Kailas

Kullanın:

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

İşe yarıyor.

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

Bu kod, kodun çalıştığı sunucunun tarihini ve saatini alır.

16

Bu formatı da kullanabilirsiniz:

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

Veya

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

Makalesine göre PHP ile Mevcut Datetime (NOW) Nasıl Gidilir ?, geçerli tarihi almanın iki genel yolu vardır. PHP ile mevcut tarih/saat (şimdi) almak için date sınıfını herhangi bir PHP sürümüyle kullanabilir ya da datetime sınıfını PHP> = 5.2 ile daha iyi kullanabilirsiniz.

Burada çeşitli tarih formatı ifadeleri bulunur.

Tarih kullanarak örnek

Bu ifade ŞİMDİ döndürür Y-m-d H:i:s biçiminde.

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

Datetime sınıfını kullanarak örnek

Bu ifade ŞİMDİ döndürür Y-m-d H:i:s biçiminde.

<?php
    $dt = new DateTime();
    echo $dt->format('Y-m-d H:i:s');
?>
13
David
<?php
echo "<b>".date('l\, F jS\, Y ')."</b>";
?>

Böyle yazdırır 

9 Aralık 2012 Pazar  

12
AMB

çok basit

echo $ date = tarih ('Y-a-d Y: i: s');

12
Juned Ansari
<?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)
?>
11
Mr. HK
date_default_timezone_set('Europe/Warsaw');
echo("<p class='time'>".date('H:i:s')."</p>");
echo("<p class='date'>".date('d/m/Y')."</p>");
9
Dariusz J
date(format, timestamp)

date işlevi, verilen tamsayı zaman damgasını veya verilen herhangi bir zaman damgası yoksa geçerli saati kullanarak verilen format dize göre formatlanmış bir dize döndürür. Başka bir deyişle, timestamp isteğe bağlıdır ve zamanın () değerine varsayılandır.

Ve parametreler -

format - Gerekli. Zaman damgasının biçimini belirtir

zaman damgası - (İsteğe bağlı) Bir zaman damgası belirtir. Varsayılan, geçerli tarih ve saattir

Basit bir tarih nasıl alınır

date() işlevinin gerekli biçim parametresi, date (or time) biçiminin nasıl biçimlendirileceğini belirtir.

Tarihler için yaygın olarak kullanılan bazı karakterler:

  1. d - Ayın gününü temsil eder (01 - 31)
  2. m - Bir ayı temsil eder (01 - 12 arası)
  3. Y - Bir yılı temsil eder (dört haneli)
  4. l (küçük harf 'L') - Haftanın gününü temsil eder

"/", ".", or "-" gibi diğer karakterler de ek biçimlendirme eklemek için karakterler arasına eklenebilir.

Aşağıdaki örnek, bugünün tarihini üç farklı şekilde biçimlendirir:

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

Bazı faydalı linkler

9
Joomler

Bu kodu kullanabilirsiniz:

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

Farklı bir zaman çizelgesi istiyorsanız, lütfen kullanın:

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

Tarih formatı da:

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

Saat diliminizi ayarlayın:

date_default_timezone_set('Asia/Calcutta');

Öyleyse tarih işlevlerini çağırın

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

PHP daki geçerli saati bulmanın en kolay yolunun bunun gibi bir şey olduğunu buldum.

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

Diğer basit bir yol, geçerli tarih ve saatin zaman damgasını almaktır. Mktime () işlevini kullanın:

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

Sonra bunu başka bir tarih biçimine dönüştürebilirsiniz:

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

Diğer tarih biçimleri burada: http://php.net/manual/tr/function.date.php

7
adespotos

İşte sık sık kullanılan bazı karakterler:

  1. h - Başında sıfır bulunan bir saatin 12 saatlik formatı (01 - 12)
  2. i - Başlarda sıfır olan dakikalar (00 - 59)
  3. s - Başlarda sıfır olan saniye (00 - 59)
  4. a - Küçük Harf Ante meridiem ve Post meridiem (am veya pm)

Saat diliminizi alın

<?php
    date_default_timezone_set("America/New_York");
    echo "The time is " . date("h:i:sa");
?>

Şunu kontrol et (isteğe bağlı)

<?php
    $d = mktime(11, 14, 54, 8, 12, 2014);
    echo "Created date is " . date("Y-m-d h:i:sa", $d);
?>

Tarih için

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

Tarihler için yaygın olarak kullanılan bazı karakterler:

  1. d - Ayın gününü temsil eder (01 - 31)
  2. m - Bir ayı temsil eder (01 - 12 arası)
  3. Y - Bir yılı temsil eder (dört haneli)
  4. l (küçük harf 'L') - Haftanın gününü temsil eder

Kaynak-W3-Okulları

5
Raheel Khan

Yeni PHP programcısı için neden güncel tarih ve saat almak için ve projelerinde hangisinin kullanılacağı konusunda pek çok yöntemin var olduğu konusunda kafa karıştırıcı olabilir.

1. date yöntemi (PHP 4, PHP 5, PHP 7)

Bu, php'de tarih ve saati almanın en yaygın ve en kolay yoludur.

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

Bununla ilgili daha fazla bilgi edinebilirsiniz here

2. DateTime sınıfı (PHP 5> = 5.2.0, PHP 7)

oOP ile PHP kullanmak istediğinizde, tarih ve saati almanın en iyi yolu budur.

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

Bununla ilgili daha fazla bilgi edinebilirsiniz here

3. Karbon Tarihi zaman paketi

Besteci , Laravel , Symfony veya herhangi bir tür çerçeveyi kullanıyorsanız, tarih ve saati almanın en iyi yoludur. Ayrıca bu paket DateTime sınıfını php olarak genişletir, böylece Datetime sınıfındaki tüm yöntemleri kullanırsınız. Bu yerleşik laravel gibi çerçevelerde yerleşiktir, böylece ayrı olarak yüklemek zorunda kalmazsınız.

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'

Bununla ilgili daha fazla bilgi edinebilirsiniz here

Bu yardımcı olur umarım ve tarih ve saati almak için başka bir yol biliyorsanız, cevabı düzenlemek için çekinmeyin.

5
Supun Praneeth

Eğer Bangladeşli iseniz ve Dhaka 'nın zamanını almak istiyorsanız:

$date = new DateTime();
$date->setTimeZone(new DateTimeZone("Asia/Dhaka"));
$get_datetime = $date->format('d.m.Y H:i:s');
5
A.A Noman
// 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));
5
Elyor

12-3-2016gibi bir tarih almak istiyorsanız, gün, ay ve yıl değerlerini birbirinden ayırın, sonra bu kodu kopyalayıp yapıştırın:

$day = date("d");
$month = date("m");
$year = date("y");
print "date" . $day . "-" . $month . "-" . $year;
4
Pir Fahim Shah

PHP şimdiki zamanı saniye cinsinden döndürür. Onları istediğiniz formatta formatlamanız gerekir.

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

Referans: http://php.net/manual/tr/function.strftime.php

3
Gnanasekar S

date işlevini kullanabilir ve varsayılan saat dilimini ayarlayabiliriz:

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

Çok basit

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

Normalde, tarih için bu işlev herkes için yararlıdır: date ("Y/m/d");

Ancak zaman farklı bir şeydir, çünkü zaman işlevi PHP sürümüne veya sistem tarihine bağlıdır.

Muhtemelen kendi zaman dilimimizi bulmak için bu şekilde kullanın:

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

Bu fonksiyon 24 saatlik süreyi gösterir.

3
Meena Arumugam

Geçerli saati ve tarihi almanın en iyi yolu date işlevidir in PHP:

$date = date('FORMAT'); // FORMAT E.g.: Y-m-d H:i:s

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

Unix zaman damgası ile:

$now_date = date('FORMAT', time()); // FORMAT Eg : Y-m-d H:i:s

Sunucu saat dilimini ayarlamak için:

date_default_timezone_set('Asia/Calcutta');

Farklı bir saat dilimi listesi here .

3
Arthi Rajgopal
echo $today = date('y-m-d');

Bu bugünün tarihine geri dönecek.

0
Ajay Katariya

Linux sunucu zamanı ve PHP zaman () fark zaman dilimi aşağıdaki gibidir:

<?php
    putenv("TZ=Asia/Kabul");
    $t = time();
    echo date('d/m/Y H:i:sa', $t);
?>
0
Ahmad Shakib