如何在PHP for MySQL中格式化日期?
我正在尝试将DD/MM/YYYY格式的日期插入MySQL。数据库不喜欢这种格式,完全弄乱了日期。有没有简单的方法将日期转换成正确的格式?我认为MySQL应该对如何在PHP for MySQL中格式化日期?,php,mysql,Php,Mysql,我正在尝试将DD/MM/YYYY格式的日期插入MySQL。数据库不喜欢这种格式,完全弄乱了日期。有没有简单的方法将日期转换成正确的格式?我认为MySQL应该对YYYY-MM-DD感到满意,所以在phpdate('Y-m-d',$myDate)我认为MySQL应该对YYYY-MM-DD感到满意,所以在phpdate('Y-m-d',$myDate) 或者,如果您对regexen不太满意: $date = join('-', array_reverse(explode('/', $date)));
YYYY-MM-DD
感到满意,所以在phpdate('Y-m-d',$myDate)
我认为MySQL应该对YYYY-MM-DD
感到满意,所以在phpdate('Y-m-d',$myDate)
或者,如果您对regexen不太满意:
$date = join('-', array_reverse(explode('/', $date)));
或者,如果您对regexen不太满意:
$date = join('-', array_reverse(explode('/', $date)));
通常,您应该将应用程序中的日期作为时间戳或日期对象存储在内存中 这使它们易于转换为任何所需的格式,用于显示目的或插入数据库。它还使日期计算变得容易得多 如果您有一个字符串格式的日期,无论它是哪种字符串格式,当您需要将其用于其他目的时,您就不得不对字符串进行笨拙的重新格式化 MySQL对日期使用
YYYY-MM-DD
格式,对日期时间使用yyy-MM-DD HH:MM:SS
格式。可以使用'Y-m-d'
和Y-mdh:i:s
函数中的date()
字符串在PHP中表示这些内容
当从数据库中获取日期时,我建议使用MySQL的UNIX\u TIMESTAMP()
函数以时间戳格式获取日期,这样您就不必担心进行任何字符串操作
希望这会有所帮助。一般来说,您应该将应用程序中的日期作为时间戳或日期对象存储在内存中
INSERT INTO the_table (the_date)
VALUES (STR_TO_DATE('31/12/2001', '%d/%m/%Y'));
这使它们易于转换为任何所需的格式,用于显示目的或插入数据库。它还使日期计算变得容易得多
如果您有一个字符串格式的日期,无论它是哪种字符串格式,当您需要将其用于其他目的时,您就不得不对字符串进行笨拙的重新格式化
MySQL对日期使用YYYY-MM-DD
格式,对日期时间使用yyy-MM-DD HH:MM:SS
格式。可以使用'Y-m-d'
和Y-mdh:i:s
函数中的date()
字符串在PHP中表示这些内容
当从数据库中获取日期时,我建议使用MySQL的UNIX\u TIMESTAMP()
函数以时间戳格式获取日期,这样您就不必担心进行任何字符串操作
希望有帮助
INSERT INTO the_table (the_date)
VALUES (STR_TO_DATE('31/12/2001', '%d/%m/%Y'));
格式代码记录在
更新:我想我还应该提到,MySQL将在需要时执行到日期的自动转换。在这种情况下,它将使用date\u格式
或datetime\u格式
变量中定义的格式解析字符串:
mysql> SELECT @@date_format, @@datetime_format;
+---------------+-------------------+
| @@date_format | @@datetime_format |
+---------------+-------------------+
| %Y-%m-%d | %Y-%m-%d %H:%i:%s |
+---------------+-------------------+
1 row in set (0.00 sec)
格式代码记录在
更新:我想我还应该提到,MySQL将在需要时执行到日期的自动转换。在这种情况下,它将使用date\u格式
或datetime\u格式
变量中定义的格式解析字符串:
mysql> SELECT @@date_format, @@datetime_format;
+---------------+-------------------+
| @@date_format | @@datetime_format |
+---------------+-------------------+
| %Y-%m-%d | %Y-%m-%d %H:%i:%s |
+---------------+-------------------+
1 row in set (0.00 sec)
我们真的需要正则表达式来进行这个简单的转换吗:)@Adnan因为
DD/MM/yyyyy
不能通过strotime
直接安全地进行解析,这相当简单和直接……我们真的需要正则表达式来进行这个简单的转换吗:)@Adnan因为DD/MM/yyyyy
不能通过strotime
直接安全地进行解析,这是相当简单和直接的。。。