0

有没有办法让我的 mysql 和 php 服务器自动以英国格式显示日期。

目前我运行一个函数来转换它们。

数据存储在数据库中的方式 2012/06/20 我希望服务器存储它的方式 20/06/2012

--------------Update------------------ //SQL_data 来自表

回声 $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中使用setlocale函数。对于 MySQL 尝试使用文档更改语言环境

于 2012-06-20T10:34:11.957 回答
1

在 PHP 中,您可以使用 date() 和 strtotime() 函数将日期转换为您想要的任何格式。例如对于 DD-MM-YYYY

date('d-m-Y', strtotime($date_from_db))
于 2012-06-20T12:02:54.457 回答
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 回答