0

私のmysqlとphpサーバーが自動的に英国形式で日付を表示するようにする方法はありますか.

現時点では、それらを変換する関数を実行しています。

データがデータベースに保存される方法 2012/06/20 サーバーにデータを保存する方法 20/06/2012

--------------Update------------------ //SQL_data はテーブルから取得されます

echo $sql_date; // 2012/06/20

次に、これを使用して日付を交換します。

function fixdate($in_date) {
    $split_data = explode('-', $in_date);
    if(count($split_data) == 3) {
        $year = $split_data[2]; $month = $split_data[1]; $day = $split_data[0];
        return "$year-$month-$day";
     } else {
        return FALSE;
     }
}

次に、日付を表示します。

次に、他の形式を受け入れないため、関数を再度使用してデータベースに保存します。

私の質問は次のとおりです。デフォルトのmysql日付形式を英国の基準に設定する方法はありますか.

今回はもっとうまく説明できたことを願っています。

4

3 に答える 3

1

PHP では、date() および strtotime() 関数を使用して、日付を任意の形式に変換できます。たとえば、DD-MM-YYYY の場合

date('d-m-Y', strtotime($date_from_db))
于 2012-06-20T12:02:54.457 に答える
1

PHP でsetlocale関数を使用してみてください。MySQL の場合、ドキュメントでロケールを変更してみてください

于 2012-06-20T10:34:11.957 に答える
0

どうやら、許可されていない日付を受け入れるように mysql を設定できますが、強くお勧めしません。

そのため、データベースから日付を取得して挿入する際に、日付をフォーマットする必要があります。

DATE_FORMAT(mydate, '%d/%m/%Y')

私の例

public function customerList()
    {
        return $this->db->select("
            SELECT
            _payments.id,
            _payments.dueDate,
            _payments.paymentMethod,
            _payments.paymentAmount,
            DATE_FORMAT(_payments.paidDate,'%d/%m/%Y') as paidDate,
            _payments.custId,
            _customers.firstname,
            _customers.lastname,
            _customers.advisor
            FROM
            _payments
            Inner Join _customers ON _payments.custId = _customers.id
            WHERE _payments.paid = 0
        ");
    }
于 2012-06-21T10:19:38.017 に答える