2016-03-15 125 views
2

我是PhP/MySQL的新手,只是學習東西。格式化UserSpice中的時間戳

我使用Userspice用戶管理框架,爲我的項目

在有表的數據庫稱爲"users",它有一個字段名"join_date"和字段項看起來就像2016-01-01 00:00:00它在當時被存儲爲時間戳的用戶註冊。

要,我使用以下查詢

<?php $user->data()->join_date; ?> 

上述查詢按預期輸出2016-01-01 00:00:00

但我的所需輸出January 2016輸出。所以,我嘗試了以下查詢

<?php $user->data()->join_date->format('F Y'); ?> 

但頁面變爲空白。我可以理解,上面的查詢有語法錯誤或邏輯錯誤。請你能幫我解決這個問題。我可能看起來很傻,問這些小事,我只是在學習東西。

更新:

而且我嘗試下面的查詢現在認爲在價值儲存和做會幫助,但空白頁的同樣的錯誤。

<?php 
$x = $user->data()->join_date; 
$y = $x->format('F-Y'); 
echo $y; 
?> 

回答

1

需要使用strtotime功能來格式化日期:(與你的日期變量替換$date

$date = '2016-01-01 00:00:00'; 

echo date('F Y', strtotime($date)); 

輸出:

January 2016 

這裏DateTime類是更好的選擇:

$datetime = new DateTime($date); 

echo $datetime->format('F Y'); 

輸出:

January 2016 

更多細節有看http://php.net/manual/en/function.date.phphttp://php.net/manual/en/class.datetime.php

+0

由於一噸的伴侶。有效 ! 。順便說一下,我可能知道爲什麼你提到'DateTime'比'strtotime'更好。 –

+1

看看http://stackoverflow.com/questions/8605563/datetime-class-vs-native-php-date-functions或者你可以搜索谷歌相同 –

1

試試這個

<?php 
    $formatted_date = new DateTime($user->data()->join_date); 
    echo $formatted_date->format('F Y'); 
?> 
+0

謝謝隊友。是的'DateTime'類工作 –