2015-04-06 105 views
0

我有我的代碼PHP的一個問題,我的數據庫MongoDB的:警告:日期()預計參數2長,

我得到這個錯誤:

Warning: date() expects parameter 2 to be long,

我的代碼是:

<?php echo date('g:i a, F j', $comment['posted_at']); ?> 
+0

FYI:您可以接受如何幫助您最和解決您的問題(HTTP答案://meta.stackexchange。 COM/q/5234)! – Rizier123

回答

6

該日期值可能是日期字符串,而不是所需的Unix時間戳。使用strtotime()糾正這一點:

<?php echo date('g:i a, F j', strtotime($comment['posted_at'])); ?> 

假定該日期是在format strtotime() recognizes結構。

+0

謝謝你的作品! –

+0

我想添加註釋日期它是如何工作的? 我有此代碼: <?php echo date('g:i a,F j',strtotime($ comment ['posted_at'])); ?> 但日期仍然是凌晨1:00,1月1日 –

+0

我不確定你在尋找什麼,但它似乎是一個不同的問題。我建議用代碼示例將這作爲一個新問題,以便每個人都可以嘗試幫助你。 –

1

如果您正在訪問一個MongoDate對象,的回答是錯誤的。

您必須使用:

<?php echo date('g:i a, F j', $comment['posted_at']->sec); ?> 

一個MongoDate對象:

MongoDate { 
    /* Fields */ 
    public int $sec ; 
    public int $usec ; 
    /* Methods */ 
    public __construct ([ int $sec = time() [, int $usec = 0 ]]) 
    public ...... toDateTime (void) 
    public string __toString (void) 
} 
+0

你好, 我想在評論上添加日期它是如何工作的? 我有此代碼: <?php echo date('g:i a,F j',strtotime($ comment ['posted_at'])); ?> 但日期仍然是1月1日凌晨1點 –

+0

您是什麼意思由「添加日期」?你想調整日期嗎?當你從'mongoDate-> sec'得到一個unix時間戳時,你可以在任何地方使用它。例如:'date('...',strtotime('+ 1 day',$ d-> sec))或'date('Ymd H:i:s',$ d-> sec + 3600)' – shawn

+0

ps:不要在'MongoDate'上使用'strtotime',這是錯誤的。 – shawn

相關問題