我在ajax中将JS日期对象发送给PHP。然后我把它写到mySql。 我应该在发送之前将日期对象转换为javascript中的字符串吗?或者我可以用PHP转换它 - 我更喜欢这个解决方案。 哪种方式正确?
PS。我正在使用PDO在DB中编写它。
答案 0 :(得分:3)
在大多数情况下,您必须将JS日期转换为字符串。 好方法是:
var d = new date();
var iso_date_string = d.toISOString();
// produces "2014-12-15T19:42:27.100Z"
var locale_date_string = d.toLocaleDateString();
// produces "12/15/2014"
toLocaleDateString()
有很多本地化选项。
您可以通过
将任何有效的日期字符串转换为PHP中的日期$date = date( "Y-m-d H:i:s", strtotime("2014-12-15T19:42:27.100Z") );
// produces "2014-12-15 20:42:27"
$date = date( "Y-m-d", strtotime("12/15/2014") );
// 2014-12-15
"Y-m-d H:i:s"
或Y-m-d
可以是any supported date and/or time format
答案 1 :(得分:0)
POST和GET都向服务器提交字符串,在此处阅读答案:What are the data type limitations of the POST and GET HTML Form Methods?
但实际上,您是否必须手动转换取决于您的框架,例如jQuery will convert objects to strings for you,然后再发送到服务器(听起来像您想要的那样)。
还有一些端到端框架可以处理数据绑定,使您无需在浏览器或服务器上手动转换。