This question already has answers here:
Convert a date format in PHP
                                
                                    (16个答案)
                                
                        
                                6年前关闭。
            
                    
基本上,我有一个用户选择的日期,其格式如下:

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,这正是此处发生的情况。当您尝试在format上调用false时,程序会崩溃,这没有任何意义。

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

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

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

10-15 18:38
查看更多