在mySQL中存储javascript Date()

Dan*_*l H 6 javascript php mysql

我目前有一个javascript变量,它记录当前的日期和时间,如下所示:

var time_of_call;
time_of_call = new Date();
Run Code Online (Sandbox Code Playgroud)

我需要将它存储在MySQL数据库中.当我尝试上传它时,该列只显示为空白但我不确定我做错了什么.我知道这不是mysql查询的问题,因为我尝试输入不同的值,它工作正常.

我已将列设置为,DATETIME并且我正在上传未格式化的值.有人可以解释我需要做些什么不同的事情吗?

谢谢你的帮助

Ps我无法使用,NOW()因为我使用它来捕获实际捕获记录的时间,并且此time_of_call记录呼叫实际进入的时间.

Joh*_*een 10

在JavaScript中,Date对象的底层值以毫秒为单位,而Unix服务器(以及内部的MySQL)使用整秒.

要获取javascript日期对象的基础值:

var pDate = new Date();
var pDateSeconds = pDate.valueOf()/1000;
Run Code Online (Sandbox Code Playgroud)

从这里开始,你将它发送到服务器......由你来决定是否除以1000,但它必须在某个地方完成.从这个值,你可以调用PHP的日期('Ymd H:i:s',$ pDateSeconds); 在上面.

或者,您可以在MySQL中使用内置函数:

$sql = 'UPDATE table_name 
        SET field_name=FROM_UNIXTIME('.$pDateSeconds.') 
        WHERE field_name='.$row_id;
Run Code Online (Sandbox Code Playgroud)