php - 在 PHP 中将数据库日期格式转换为 yyyy-mm-dd 并返回到 dd-mm-yyyy

标签 php mysql

<分区>

基本上我有一个用户选择的日期,其格式如下:

01-12-2013 (dd-mm-yyyy)

我需要将其格式化为数据库的 yyyy-mm-dd 格式,作为这样的日期类型:

2013-12-01

我将我的日期存储在一个变量中,我们称它为 $date

我试过像这样使用 createFromFormat 函数:

$processdate = DateTime::createFromFormat('dd-mm-yy', $date);
echo $processdate->format('yy-mm-dd');

但我收到一条错误消息:

Fatal error: Call to a member function format() on a non-object

谁能告诉我我为什么没有正确使用它?

最佳答案

createFromFormat被记录为在失败时返回 false,这正是这里发生的事情。当您尝试在 false 上调用 format 时程序崩溃,这没有任何意义。

这是因为你的格式字符串错误。对于给定的输入,正确的格式字符串是 "d-m-Y"(格式字符串也记录在同一页上)。

当然这意味着你的输出格式字符串也是错误的:它应该是"Y-m-d"

关于php - 在 PHP 中将数据库日期格式转换为 yyyy-mm-dd 并返回到 dd-mm-yyyy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15248664/

相关文章:

php - api 端点未在 Sanctum 上进行 CSRF token 验证 - CSRF token 不匹配

php - Codeigniter 选择和(有条件的)更新查询

mysql - SQL数据库架构设计

php - 从Mysql表字段中提取数据并将其放入数组中

php - 在mysql中的一个查询中选择行以及总计数

php如何遍历数组直到满足条件?

php - 子查询不起作用

php - 管理不同的用户组来查看页面

python - 来自 macports : missing mysqld. sock 的 Mysql 错误

mysql count group by order by optimization