PHP Geçerli tarih ve saati almak

13 Cevap php

Hangi PHP işlevi geçerli tarih / saati dönebilirsiniz?

13 Cevap

Zaman sunucu zaman gitmek istiyorum. Bu kolay bir geçici çözüm date () veya zaman () işlevleri denir önce elle dilimini ayarlamaktır.

Ben bu yüzden böyle bir şey var Melbourne, Avustralya'da kulüpler:

date_default_timezone_set('Australia/Melbourne');

Ya da başka bir örnek, bir LA - ABD:

date_default_timezone_set('America/Los_Angeles');

Ayrıca, sunucu üzerinden şu anda ne olduğunu timezone görebilirsiniz:

date_default_timezone_get();

Yani bir şey gibi:

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

Yani sorunun kısa cevabı 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());

Sonra tüm zamanlarda sadece set timezone olacaktır :)

    // 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 zaman dilimi referans için, List of Supported Timezones bkz.

Geçerli Unix zaman damgası almak için $_SERVER['REQUEST_TIME'] değişkeni (available since PHP 5.1.0) or the time() function kullanın ya.

PHP'nin time() geçerli bir Unix zaman damgası döndürür. Bu ile, sizin ihtiyaçlarınıza biçimlendirmek için date() işlevini kullanabilirsiniz.

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

Paolo açıklamalarda belirtildiği gibi, ikinci argüman gereksiz olduğunu. Aşağıdaki kod parçası, yukarıdaki birine eşdeğerdir:

$date = date('Format String');

PHP 5.2.0 siz de (tabii OOP isterseniz) bunu yapabilirsiniz beri:

$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 belirtmek için timezone:

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

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

Çoğu zaman bu iki çözüm aynı Unix zaman damgası verecektir. Bunların arasındaki fark, $ _SERVER ['REQUEST_TIME'] () şimdiki zaman döner en yeni sunucusu istek ve zaman zaman damgası verir olmasıdır. Bu uygulamaya bağlı olarak, doğruluk küçük farklar yaratabilir, ancak çoğu durumda bu çözümlerin her ikisi de yeterli olacaktır.

Yukarıdaki örnek kod dayanarak, size Unix zaman damgası elde kez bu bilgiyi biçimlendirmek istediğiniz gidiyoruz. Biçimlendirilmemiş bir Unix zaman damgası, bu gibi görünüyor ...

Unix Zaman Damgası: 1232659628

Yani çalışacak bir şey almak için, onu biçimlendirmek için date() işlevini kullanabilirsiniz.

Tarih () işlevini kullanmak için yollar iyi bir referans burada, PHP Manual Sayfalar bulunan ...

http://us.php.net/date

Örneğin, aşağıdaki kod şöyle bir tarih verir -

01/22/2009 16:35:00

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

Referans: İşte a link

Bu çünkü, gün ışığından yararlanma zaman damgası için bir gün veya bir ay içinde saniye sayısını ekleyerek veya çıkararak daha güvenilir olabilir.

PHP kodu

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

Tarih biçimi için, PHP date() Function yararlıdır.

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

Bu gibi baskılar

Sunday, December 9th, 2012

Yazıda PHP> = 5.2 ile herhangi bir PHP sürümü, ya da daha iyi datetime class ile How to Get Current Datetime (NOW) with PHP , there are two common ways to get the current date. To get current datetime (now) with PHP, you can use the date class göre.

Çeşitli tarih biçimi ifadeler burada mevcuttur.

Example using date

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

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

Example using datetime class

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

<?php
    $dt = new DateTime();
    echo $dt->format('Y-m-d H:i:s');
?>
$date = date('m/d/Y h:i:s a', time());

çalışır, ancak EST, PST olmadığını da nasıl bilmek ister misiniz?

Ben PHP şimdiki zaman almanın basit yolu bu gibi bir şey olduğunu buldu.

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

Eğer farklı bir zaman ölçeği istiyorsanız, lütfen:

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