php将日期格式转换为mysql格式以进行插入[重复]
Posted
技术标签:
【中文标题】php将日期格式转换为mysql格式以进行插入[重复]【英文标题】:php format date into mysql format for insert [duplicate] 【发布时间】:2021-06-01 21:00:05 【问题描述】:我有一个 php 变量,它代表日期(来自日期选择器),格式为“DD.MM.YYYY”,例如今天“03.03.2021”。 我看到mysql日期支持的格式是“YYYY-MM-DD”。如果我只是尝试在 mysql 中插入我的变量,我会得到“0000-00-00”。 如何将我的变量转换为 mysql 格式以便能够将其插入表中? 谢谢
【问题讨论】:
参见 PHP DateTime reference中的 DateTime::createFromFormat() 和 DateTime::format() 你应该阅读更多 PHP 文档 【参考方案1】:你可以试试这个
$str = "03.03.2021";
$date = DateTime::createFromFormat("d.m.Y", $str);
echo date_format($date,"Y-m-d");
【讨论】:
非常感谢【参考方案2】:你总是可以像这样转换日期:
date('Y-m-d', strtotime('03.03.2021'))
print_r 结果
print_r(date('Y-m-d', strtotime('03.03.2021')));
2021-03-03
print_r(date('d/m/Y', strtotime('03.03.2021')));
2021 年 3 月 3 日
等等...您可以使用以下日期格式:
// Assuming today is March 10th, 2001, 5:16:18 pm, and that we are in the
// Mountain Standard Time (MST) Time Zone
$today = date("F j, Y, g:i a"); // March 10, 2001, 5:16 pm
$today = date("m.d.y"); // 03.10.01
$today = date("j, n, Y"); // 10, 3, 2001
$today = date("Ymd"); // 20010310
$today = date('h-i-s, j-m-y, it is w Day'); // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$today = date('\i\t \i\s \t\h\e jS \d\a\y.'); // it is the 10th day.
$today = date("D M j G:i:s T Y"); // Sat Mar 10 17:16:18 MST 2001
$today = date('H:m:s \m \i\s\ \m\o\n\t\h'); // 17:03:18 m is month
$today = date("H:i:s"); // 17:16:18
$today = date("Y-m-d H:i:s"); // 2001-03-10 17:16:18 (the MySQL DATETIME format)
来自php.net
顺便说一句,我强烈建议您将日期存储为时间戳。
【讨论】:
以上是关于php将日期格式转换为mysql格式以进行插入[重复]的主要内容,如果未能解决你的问题,请参考以下文章
将格式 MM/DD/YYYY 的日期转换为 MySQL 日期 [重复]
PHP 将Twitter API日期时间转换为MySQL日期时间格式