MySQL データベースに次の日付形式があり、この日付を再フォーマットして、考えているものを出力する最良の方法は何か疑問に思っていました。
MySQL: 2012 年 4 月 12 日
望ましい出力: 2012 年 4 月 12 日木曜日
おそらく、MySQL クエリでフォーマットできますか? それともJavaスクリプトで?
私が学ぶことができるように、誰かが両方のサンプルを提供できますか?
MySQL データベースに次の日付形式があり、この日付を再フォーマットして、考えているものを出力する最良の方法は何か疑問に思っていました。
MySQL: 2012 年 4 月 12 日
望ましい出力: 2012 年 4 月 12 日木曜日
おそらく、MySQL クエリでフォーマットできますか? それともJavaスクリプトで?
私が学ぶことができるように、誰かが両方のサンプルを提供できますか?
例: var day = moment("2012-04-12", "DDDD, MMMM DD YYYY");
これを行うには多くの方法があります。
DATE_FORMAT
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-formatを使用strtotime
しdate
ます。date('J, M d Y', strtotime($yourdate))
new Date()
date = moment("2012-04-12", "DDDD, MMMM DD YYYY");
。最善のアプローチは、通常、出力する直前にPHP側で値をフォーマットすることです。
$date = DateTime::createFromFormat('Y-m-d', $row['the_date']);
echo $date->format('J, M d Y');
JavaScript から、以下の関数DEMOを使用して日付をフォーマットできます
注:以下の関数は、さらに日付の sup を表示します (例: 3 日、12 日など)。if..else if
不要な場合は、以下のコードをすべて削除してください。
function formatDate(d) {
var d_names = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
var m_names = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
var curr_day = d.getDay();
var curr_date = d.getDate();
var sup = "";
if (curr_date == 1 || curr_date == 21 || curr_date == 31) {
sup = "st";
} else if (curr_date == 2 || curr_date == 22) {
sup = "nd";
} else if (curr_date == 3 || curr_date == 23) {
sup = "rd";
} else {
sup = "th";
}
var curr_month = d.getMonth();
var curr_year = d.getFullYear();
return d_names[curr_day] + " " + m_names[curr_month] + " " + curr_date + sup + " " + curr_year;
}
参照: JavaScript の日付の書式設定(上記は書式 #5 の修正版です)
PHP には、日付を特定の形式で読み取るための便利なクラスがあります。
http://www.php.net/manual/en/datetime.createfromformat.php
$result = mysql_query("select date_column from table_name limit 1");
$array = mysql_fetch_array($result);
print DateTime::createFromFormat('Y-m-d')->format('jS M Y');
jquery を使用した JavaScript での書式設定については、この他の投稿を参照してください。
最高の JavaScript 日付パーサー & フォーマッター?
おそらく、MySql から実際に日付を取得するコードでフォーマットするでしょう。どの言語を使用していますか? php、asp、java...?
mysql とデートするときは、それを Php で受け取りますか?
パフォーマンスを最適化するには、ネイティブの php 日付関数を使用して mysql の日付を変換します。簡単です。
公式の PHP ドキュメントを読む => http://php.net/manual/fr/function.date.php
PHP 処理は、JavaScript 処理よりも高速です。