簡體   English   中英

getTimestamp()-調用成員函數時發生致命錯誤

[英]getTimestamp() - Fatal Error when call to a member function

我想將以下字符串轉換為datetime:

<?php
$t = '2017-12-22T11:46:21.647+00:00';

$date = date_create_from_format('d/M/Y:H:i:s', $t);
print_r($date->getTimestamp());

但是,出現以下錯誤:

Fatal error: Call to a member function getTimestamp() on a non-object in /home/ubuntu/workspace/src/t02-convertDateTime.php on line 5

有什么建議嗎?

執行此代碼時:

<?php
$t = '2017-12-22T11:46:21.647+00:00';

$date = date_create_from_format('d/M/Y:H:i:s', $t);
var_dump($date);
print_r($date->getTimestamp());

您將獲得以下輸出:

bool(false) 
FATAL ERROR Uncaught Error: Call to a member function getTimestamp() on boolean in /home4/phptest/public_html/code.php70(5) : eval()'d code:6 Stack trace: #0 /home4/phptest/public_html/code.php70(5): eval() #1 {main} thrown on line number 6

看起來是無效的日期格式。 您需要獲取正確的日期格式。

同樣在手冊中,有一條評論說:

沒有選項可以直接指定日期格式“ c”(例如2004-02-12T15:19:21 + 00:00)。 解決方法是使用Ymd \\ TH:i:sT

替代方法是:

<?php
$t = '2017-12-22T11:46:21.647+00:00';

var_dump(date("Y-m-d g:i:s a", strtotime("2017-12-22T11:46:21.647+00:00")));

這給您:

2017-12-22 6:46:21 am

問題是您給定格式的方式。 試試這個或檢查PHP Mannual

$t = '2017-12-22 11:46:21';

$ date = date_create_from_format('Ymd H:i:s',$ t); var_dump($ date-> getTimestamp());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM