我正在从数据库中提取UTC时间,该数据库返回的格式如下:YYYY-MM-DD HH:MM:SS例如2019-07-10 10:30:00
使用以下代码,尽管在两台设备上都使用Chrome,但在不同平台上却得到不一致的结果。一台设备是Windows 10,另一台设备是iPhone / iPad。
我处于格林尼治标准时间(GMT)时区,因此当前我的本地时间是世界标准时间+1。
这是我根据sql_local_datetime的值获得的各种代码的结果:-
iPhone:无效, Windows:-1小时
var sql_datetime = "2019-07-10 10:30:00";
var sql_local_datetime = new Date(sql_datetime);
iPhone:正确的时间, Windows:-1小时
var sql_datetime = "2019-07-10 10:30:00";
var sql_local_datetime = new Date(sql_datetime.replace(' ', 'T'));
iPhone:无效, Windows:无效
var sql_datetime = "2019-07-10 10:30:00 GMT";
var sql_local_datetime = new Date(sql_datetime.replace(' ', 'T'));
iPhone:无效, Windows:正确的时间
var sql_datetime = "2019-07-10 10:30:00 GMT";
var sql_local_datetime = new Date(sql_datetime);
上面的代码基于我已经搜寻过的其他答案,但是我无法在两个设备上都获得有效时间,同时仍将时间从UTC转换为本地(GMT)。
我的问题是,如何基于本地偏移量修改代码以在所有平台上输出正确的时间调整?