【问题标题】:get time zone and compare with other time zones with javascript and php使用 javascript 和 php 获取时区并与其他时区进行比较
【发布时间】:2014-11-27 13:01:25
【问题描述】:

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

【问题讨论】:

    标签: javascript php sql timezone


    【解决方案1】:

    不打算编写完整的代码,因为这需要几个小时,但这里是它的要点......

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

    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset

    var x = new Date();
    var currentTimeZoneOffsetInHours = x.getTimezoneOffset() / 60;
    

    然后使用 AJAX 将其传递到服务器端。 jQuery 可以让你很好地做到这一点..

    https://api.jquery.com/jquery.post/

    $.post( 
        "ajax/store-date.php", 
        { 
            offset: currentTimeZoneOffsetInHours 
        },
        function( data ) {
            // success callback.
        });
    

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

    http://www.w3schools.com/php/php_mysql_insert.asp

    <?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();
    ?>
    

    要比较使用 SQL,例如...

    SELECT SUM(offset) FROM Offsets
    WHERE id IN (1,10) /* add the 2 entry id's you want to compare */
    

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

    【讨论】:

      猜你喜欢
      • 2015-12-05
      • 2022-01-21
      • 1970-01-01
      • 2019-05-23
      • 1970-01-01
      • 2017-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多