通过PHP将Android datetime转换为MySQL datetime

通过PHP将Android datetime转换为MySQL datetime,php,android,mysql,datetime,type-conversion,Php,Android,Mysql,Datetime,Type Conversion,我使用php行: date("Y-m-d H:i:s", $timestamp); 转换MySQL DB DATETIME字段的日期和时间 其中$timestamp var具有从Android发送的时间戳,可通过以下方式获得: new java.util.Date().getTime(); 现在,Android返回了,比如说,不是最近的“139439875798”,根据文档,它应该是当前的时间戳 我的问题是,我无法将该值输入数据库,因此我决定通过使用查看时间戳的实际内容,它给出了我不期望的

我使用php行:

date("Y-m-d H:i:s", $timestamp);
转换MySQL DB DATETIME字段的日期和时间

其中$timestamp var具有从Android发送的时间戳,可通过以下方式获得:

new java.util.Date().getTime();

现在,Android返回了,比如说,不是最近的“139439875798”,根据文档,它应该是当前的时间戳

我的问题是,我无法将该值输入数据库,因此我决定通过使用查看时间戳的实际内容,它给出了我不期望的值:46156-09-26 14:29:58


所以我发现了问题。。但我的问题是,PHP(我是一个业余爱好者)的时间戳是否不是从1970年开始的。。或者可能是什么问题?也许我使用了错误的方法来解决我的问题。

好的,我发现PHP中的时间戳实际上比

new java.util.Date().getTime();
当我去掉最后3位数字时,我得到的datetime比Android timestamp短1小时几分钟

PHP的time()方法返回秒

Java的Date.getTime()返回毫秒

要将PHP转换为Java,请乘以1000。同样,要得到相反的结果,请除以它

如果你也打算使用日期作为标识符,我强烈建议在两个平台之间对其进行规范化,以便它们是同步的,并且可以正确连接(即,无论何时在Java中获得时间,你都应该除以1000,然后再将其乘以1000,然后再将其保存到应用程序的本地数据库中)(这将为您提供数据),这样,值将始终与服务器的数据库同步)