将JS日期对象发送到PHP

时间:2014-12-15 19:22:06

标签: javascript php mysql date

我在ajax中将JS日期对象发送给PHP。然后我把它写到mySql。 我应该在发送之前将日期对象转换为javascript中的字符串吗?或者我可以用PHP转换它 - 我更喜欢这个解决方案。 哪种方式正确?

PS。我正在使用PDO在DB中编写它。

2 个答案:

答案 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,然后再发送到服务器(听起来像您想要的那样)。

还有一些端到端框架可以处理数据绑定,使您无需在浏览器或服务器上手动转换。