1

MySQL データベースに次の日付形式があり、この日付を再フォーマットして、考えているものを出力する最良の方法は何か疑問に思っていました。

MySQL: 2012 年 4 月 12 日

望ましい出力: 2012 年 4 月 12 日木曜日

おそらく、MySQL クエリでフォーマットできますか? それともJavaスクリプトで?

私が学ぶことができるように、誰かが両方のサンプルを提供できますか?

4

7 に答える 7

3

moment.js を試す

例: var day = moment("2012-04-12", "DDDD, MMMM DD YYYY");

于 2012-04-12T14:41:27.203 に答える
2

これを行うには多くの方法があります。

  • MySQL では、DATE_FORMAT http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-formatを使用
  • PHP では、 と を使用strtotimedateます。date('J, M d Y', strtotime($yourdate))
  • JavaScriptを使用して、日付を「-」で分割してから、日付を再度作成しますnew Date()
  • また (t0s6i で説明されているように)、JavaScript を使用すると、ライブラリmomentjsを使用して次のようなことができますdate = moment("2012-04-12", "DDDD, MMMM DD YYYY");
于 2012-04-12T14:29:30.740 に答える
0

最善のアプローチは、通常、出力する直前にPHP側で値をフォーマットすることです。

$date = DateTime::createFromFormat('Y-m-d', $row['the_date']);
echo $date->format('J, M d Y');
于 2012-04-12T14:31:41.400 に答える
0

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 の修正版です)

于 2012-04-12T14:38:05.597 に答える
0

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');
于 2012-04-12T14:30:44.023 に答える
0

jquery を使用した JavaScript での書式設定については、この他の投稿を参照してください。

最高の JavaScript 日付パーサー & フォーマッター?

おそらく、MySql から実際に日付を取得するコードでフォーマットするでしょう。どの言語を使用していますか? php、asp、java...?

于 2012-04-12T14:30:05.487 に答える
0

mysql とデートするときは、それを Php で受け取りますか?

パフォーマンスを最適化するには、ネイティブの php 日付関数を使用して mysql の日付を変換します。簡単です。

公式の PHP ドキュメントを読む => http://php.net/manual/fr/function.date.php

PHP 処理は、JavaScript 処理よりも高速です。

于 2012-04-12T14:35:57.533 に答える