您好,今天我遇到了时间戳转换问题。在我的网络表单中,我使用的是引导日期选择器,用户可以在其中选择日期和时间。之后我用moment.js将这些值转换为unix 时间戳并将其传递给 PHP 页面。在 PHP 页面中,如果用户在不同的国家/地区,则该值不同,最终在数据库中插入了错误的值。因此,就像服务器时区是Latvia/Riga GMT+2而来自Georgia/Tbilisi 的用户有 GTM+4。他选择开始日期12.01.2017 15:00,Moment.js 将其传递给 PHP 页面中的开始日期的 DB 值插入12.01.2017 13:00。
这是来自js的代码
var start_date = $("#start_date").val();
var start_time = $("#start_time").val();
var start = moment.utc(start_date + ' ' + start_time, "DD.MM.YYYY HH:mm").tz("Europe/Riga");
之后 var 通过 ajax 传递给 PHP 脚本,例如start.unix()
在 PHP 中它接收
$startDate = date('Y-m-d H:i:s', $_GET['start']);
时间提前 2 小时收到。我该怎么做才能让用户从世界上任何地方选择时间 PHP 插入 DB,因为它选择正确,没有时区转换。