如何将两个不同的字符串转换为日期并将其存储在mysql数据库的单个列中?

mwyxok5s  于 2021-06-21  发布在  Mysql
关注(0)|答案(3)|浏览(264)

目前我正在研究 PHP 以及 MySQ 我的计划。我要吃了 DATE INPUT 来自用户的字符串格式。所以用户可以在 text-box . 例如dd/mm/yyyy或dd-mm-yyyy或yyyy-mm-dd或mm/dd/yyyy等(我知道它的做法太糟糕了)。但我的问题是:
有没有可能把这些都转换成一种格式,并存储在一列中?
.
因为我用的是 str_to_date() 函数,但它只接受一种格式进行转换。如何添加其他格式将字符串转换为日期?

yyhrrdl8

yyhrrdl81#

你可以使用“rlike()”来检查一些模式,但这将失败,因为你不能区分国际和弱智。想象一下有人输入“12/11/2018”。是12月11日还是11月12日?你还写了“例如”,所以如果你允许一切,你会怎么看“20122007”?2007年12月20日,2012年7月20日?使用js库输入日期,或者分别输入日、月和年。否则就没希望了。

z9ju0rcb

z9ju0rcb2#

试试这个,应该有用:

$mysqlFormatedDate = date('Y-m-d H:i:s', strtotime($yourTime));

php将花费$yourtime并解析它的格式,然后它将它转换为unix时间戳,然后它将转换为mysql datetime格式,即y-m-dh:i:s,然后您只需要将它保存到db中。

wvyml7n5

wvyml7n53#

您可以使用str\u to\u date在mysql\u查询中执行此操作:

STR_TO_DATE($yourTime, '%c/%e/%Y %r')

相关问题