web-dev-qa-db-ja.com

日付を人間が読める形式にフォーマットする

Mysqlデータベースにタイムスタンプ2013-09-30 01:16:06があり、この変数が$tsであるとしましょう。

September 30th, 2013のように表示するためにこれを出力するにはどうすればよいですか

20
soniccool
_$timestamp = "2013-09-30 01:16:06";
echo date("F jS, Y", strtotime($timestamp)); //September 30th, 2013
_

Sを使用してその日の英語の序数の接尾辞を取得することに注意してください。
人間が読めるデータが必要な場合は、すでにstrtotimeを使用しているので、現在の時刻では、strtotime("now")のようにキーワード "now"を使用できます。

関連ソース

45
Juan Cortés

strtotime()を使用してその文字列をUnixタイムスタンプに変換してから、date()関数を使用して希望どおりに表示します。

echo date("F j, Y, g:i a",strtotime($ts)); 

参照:

http://www.php.net/manual/en/function.strtotime.php

http://www.php.net/manual/en/function.date.php

17
Hanky Panky

そこにはphpが必要だとは思いません。 MySQL DATE_FORMAT() functionを確認してください。

例:

SELECT DATE_FORMAT('2013-09-30 01:16:06', '%M %D, %Y %H:%i:%s') as `readable`;

結果:

September 30th, 2013 01:16:06

実際の使用の場合:

SELECT
    DATE_FORMAT(`date_column`, '%M %D, %Y %H:%i:%s') as `readable`
FROM
    `your_table`;
4
BlitZ
echo date("F d Y",strtotime("2013-09-30 01:16:06"))
3
Burak Öztürk

Mysqlクエリ

 select UNIX_TIMESTAMP(datetime_field) as datetime_field from table;

[〜#〜] php [〜#〜]

echo date("F d Y", $datetime_field )
1
Anup Singh

何かのようなもの:

<?php
$date = '2013-09-30 01:16:06';
$convertDate = date('F jS, Y h:i:s', strtotime($date));
echo $convertDate;
?>
1
Shudmeyer

diffForHumans関数を使用します。

Carbon\Carbon::parse($ts)->diffForHumans()
0
Dinesh Naik