Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取时区并使用javascript和php与其他时区进行比较_Javascript_Php_Sql_Timezone - Fatal编程技术网

获取时区并使用javascript和php与其他时区进行比较

获取时区并使用javascript和php与其他时区进行比较,javascript,php,sql,timezone,Javascript,Php,Sql,Timezone,如何使用javascript获取当前时区偏移量(以小时为单位),将其存储在数据库中,并与数据库中的其他时区行进行比较以获得时区差异。不打算编写完整代码,因为这将花费数小时,但这里是其要点 首先用JS获取偏移量。这是MDN上的一个很好的示例 然后使用AJAX将其传递到服务器端。jQuery允许您很好地完成这项工作 在PHP端,将其存储在数据库中。有很多方法可以做到这一点。。这是一个基本的 如前所述,有大量额外代码缺失,但这与问题的范围无关 var x = new Date(); var cu

如何使用javascript获取当前时区偏移量(以小时为单位),将其存储在数据库中,并与数据库中的其他时区行进行比较以获得时区差异。

不打算编写完整代码,因为这将花费数小时,但这里是其要点

首先用JS获取偏移量。这是MDN上的一个很好的示例

然后使用AJAX将其传递到服务器端。jQuery允许您很好地完成这项工作

在PHP端,将其存储在数据库中。有很多方法可以做到这一点。。这是一个基本的

如前所述,有大量额外代码缺失,但这与问题的范围无关

var x = new Date();
var currentTimeZoneOffsetInHours = x.getTimezoneOffset() / 60;
$.post( 
    "ajax/store-date.php", 
    { 
        offset: currentTimeZoneOffsetInHours 
    },
    function( data ) {
        // success callback.
    });
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "INSERT INTO Offsets (offset) VALUES (" . floatval($_POST['offset']) . ")";

if ($conn->query($sql) === TRUE) {
    echo "Success!";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>
SELECT SUM(offset) FROM Offsets
WHERE id IN (1,10) /* add the 2 entry id's you want to compare */