php mysql插入日期_PHP mysql插入日期格式

2347caf0c7495c9ef5da4e1281e8107c.png

拉莫斯之舞

如日期和时间文字中所述:MySQL DATE以这些格式识别值:作为字母'YYYY-MM-DD'或'YY-MM-DD'格式的字符串。允许使用“宽松”语法:任何标点符号都可以用作日期部分之间的分隔符。例如,'2012-12-31','2012/12/31','2012^12^31',和'2012@12@31'是相等的。作为字符串中没有分隔符'YYYYMMDD'或'YYMMDD'格式的字符串,前提是该字符串作为日期有意义。例如,'20070523'并且'070523'被解释为'2007-05-23',但是'071332'非法(它具有无意义的月和日部分)并且变为'0000-00-00'。作为数字YYYYMMDD或YYMMDD格式的数字,只要该数字作为日期有意义。例如,19830905并被830905解释为'1983-09-05'。因此,该字符串'08/25/2012'不是有效的MySQL日期文字。您有四种选择(在一些模糊的优先顺序中,没有任何关于您的要求的进一步信息):配置Datepicker以使用altField及其altFormat选项提供支持格式的日期:$( "selector" ).datepicker({

    altField : "#actualDate"

    altFormat: "yyyy-mm-dd"});或者,如果您对用户在YYYY-MM-DD格式中查看日期感到满意,只需设置dateFormat选项:$( "selector" ).datepicker({

    dateFormat: "yyyy-mm-dd"});使用MySQL的STR_TO_DATE()函数转换字符串:INSERT INTO user_date VALUES ('', '$name', STR_TO_DATE('$date', '%m/%d/%Y'))将从jQuery接收的字符串转换为PHP理解为日期的字符串,例如DateTime对象:$dt = \DateTime::createFromFormat('m/d/Y', $_POST['date']);然后是:获取合适的格式化字符串:$date = $dt->format('Y-m-d');获取UNIX时间戳:$timestamp = $dt->getTimestamp();然后直接传递给MySQL的FROM_UNIXTIME()函数:INSERT INTO user_date VALUES ('', '$name', FROM_UNIXTIME($timestamp))手动将字符串操作为有效的文字:$parts = explode('/', $_POST['date']);$date  = "$parts[2]-$parts[0]-$parts[1]";警告您的代码容易受到SQL注入攻击。 您确实应该使用预准备语句,将变量作为未针对SQL进行求值的参数传递到该语句中。如果您不知道我在说什么,或者如何解决它,请阅读Bobby Tables的故事。此外,如在规定的出台对PHP手册章mysql_*功能:此扩展自PHP 5.5.0起不推荐使用,不建议用于编写新代码,因为将来会删除它。相反,应该使用mysqli或PDO_MySQL扩展。另请参阅MySQL API概述,以便在选择MySQL API时获得进一步的帮助。您似乎使用a DATETIME或TIMESTAMP列来保存日期值; 我建议您考虑使用MySQL的DATE类型。正如上文中DATE,DATETIME和TIMESTAMP类型:该DATE类型用于具有日期部分但没有时间部分的值。MySQL以'YYYY-MM-DD'格式检索并显示DATE值。支持的范围是'1000-01-01'到'9999-12-31'。该DATETIME类型用于包含日期和时间部分的值。MySQL DATETIME以'YYYY-MM-DD HH:MM:SS'格式检索和显示值。支持的范围是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。该TIMESTAMP数据类型被用于同时包含日期和时间部分的值。TIMESTAMP具有'1970-01-01 00:00:01'UTC到'2038-01-19 03:14:07'UTC 的范围。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值