首頁  >  問答  >  主體

在 PHP 中將日期轉換為時間戳記:逐步指南

我如何取得時間戳,例如2008年9月22日?

#
P粉204136428P粉204136428400 天前827

全部回覆(1)我來回復

  • P粉670838735

    P粉6708387352023-10-09 16:47:40


    #

    此方法適用於 Windows 和Unix並且具有時區感知能力,這可能是您想要的,如果您使用日期

    如果您不關心時區,或者想要使用您的伺服器使用的時區:

    $d = DateTime::createFromFormat('d-m-Y H:i:s', '22-09-2008 00:00:00');
    if ($d === false) {
        die("Incorrect date string");
    } else {
        echo $d->getTimestamp();
    }

    1222093324 (這將根據您的伺服器時區而有所不同...)

    #


    #

    如果您想指定哪個時區,此處為 EST。 (與紐約相同。)

    $d = DateTime::createFromFormat(
        'd-m-Y H:i:s',
        '22-09-2008 00:00:00',
        new DateTimeZone('EST')
    );
    
    if ($d === false) {
        die("Incorrect date string");
    } else {
        echo $d->getTimestamp();
    }

    1222093305

    #


    #

    或者,如果您想使用UTC。 (與“GMT”相同。)

    $d = DateTime::createFromFormat(
        'd-m-Y H:i:s',
        '22-09-2008 00:00:00',
        new DateTimeZone('UTC')
    );
    
    if ($d === false) {
        die("Incorrect date string");
    } else {
        echo $d->getTimestamp();
    }

    1222093289

    #


    #

    無論如何,在將字串解析為結構化資料時嚴格遵守始終是一個很好的起點。可以省去以後調試的尷尬。因此我建議始終指定日期格式。

    回覆
    0
  • 取消回覆