Php 我的mySQL服务器正在以美国格式显示日期
有没有办法让我的mysql和php服务器自动以英国格式显示日期 现在我运行一个函数来转换它们 数据在数据库2012/06/20中的存储方式与我希望服务器在2012/06/20中存储数据的方式相同 --------------更新------------------ //SQL\u数据来自表 echo$sql_date;//2012/06/20 然后我用这个来交换日期Php 我的mySQL服务器正在以美国格式显示日期,php,mysql,Php,Mysql,有没有办法让我的mysql和php服务器自动以英国格式显示日期 现在我运行一个函数来转换它们 数据在数据库2012/06/20中的存储方式与我希望服务器在2012/06/20中存储数据的方式相同 --------------更新------------------ //SQL\u数据来自表 echo$sql_date;//2012/06/20 然后我用这个来交换日期 function fixdate($in_date) { $split_data = explode('-', $in_d
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日期格式设置为UK standers
希望这次我解释得更好。尝试在PHP中使用函数。对于MySQL,请尝试在PHP中使用更改区域设置,您可以使用date()和strotime()函数将日期转换为所需的任何格式。例如,对于DD-MM-YYYY
date('d-m-Y', strtotime($date_from_db))
显然,您可以将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
");
}
你能详细说明一下吗?如何检索日期,如何显示日期,结果如何?如果“函数”指的是“php函数”,请看这里:忽略地下室居民的反对票,我可以查看您的字符串示例吗?我不是OP,也不是答案,这只是一个随机猜测(错误的猜测)这是我做的一切都准备好了但我想做的是。。。如果我从数据库返回一个日期,它已经是正确的格式了。@Stephen Wolfe:你还没有回答我的问题。如果没有它,MySQL最多只能将日期存储为YYYY-MM-DD,您可以在SQL中使用date_format()或在PHP中处理返回的日期。