<legend id='NqClt'><style id='NqClt'><dir id='NqClt'><q id='NqClt'></q></dir></style></legend>
<i id='NqClt'><tr id='NqClt'><dt id='NqClt'><q id='NqClt'><span id='NqClt'><b id='NqClt'><form id='NqClt'><ins id='NqClt'></ins><ul id='NqClt'></ul><sub id='NqClt'></sub></form><legend id='NqClt'></legend><bdo id='NqClt'><pre id='NqClt'><center id='NqClt'></center></pre></bdo></b><th id='NqClt'></th></span></q></dt></tr></i><div id='NqClt'><tfoot id='NqClt'></tfoot><dl id='NqClt'><fieldset id='NqClt'></fieldset></dl></div>
      • <bdo id='NqClt'></bdo><ul id='NqClt'></ul>

      <small id='NqClt'></small><noframes id='NqClt'>

      1. <tfoot id='NqClt'></tfoot>

        PHP时间戳日期到用户时区

        时间:2024-04-13
        <legend id='GTH6w'><style id='GTH6w'><dir id='GTH6w'><q id='GTH6w'></q></dir></style></legend>
            • <small id='GTH6w'></small><noframes id='GTH6w'>

              • <bdo id='GTH6w'></bdo><ul id='GTH6w'></ul>
                <tfoot id='GTH6w'></tfoot>

                  <i id='GTH6w'><tr id='GTH6w'><dt id='GTH6w'><q id='GTH6w'><span id='GTH6w'><b id='GTH6w'><form id='GTH6w'><ins id='GTH6w'></ins><ul id='GTH6w'></ul><sub id='GTH6w'></sub></form><legend id='GTH6w'></legend><bdo id='GTH6w'><pre id='GTH6w'><center id='GTH6w'></center></pre></bdo></b><th id='GTH6w'></th></span></q></dt></tr></i><div id='GTH6w'><tfoot id='GTH6w'></tfoot><dl id='GTH6w'><fieldset id='GTH6w'></fieldset></dl></div>
                    <tbody id='GTH6w'></tbody>
                1. 本文介绍了PHP时间戳日期到用户时区的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我正在从数据库中提取 $item_date 的原始生成的 mysql 时间戳信息作为 php 日期格式:

                  I'm pulling the raw generated mysql timestamp info of $item_date from the database as php date format:

                  if (($timestamp = strtotime($item_date)) === false) {
                      echo "The timestamp string is bogus";
                  } else {
                      echo date('j M Y h:i:sA', $timestamp);
                  }
                  

                  服务器区域 (UTC) 之后的输出:

                  Output folowwing the server zone (UTC):

                  2012 年 11 月 12 日下午 5:54:11

                  12 Nov 2012 05:54:11PM

                  但我希望它根据用户时区进行转换

                  but i want it to convert according to the user time zone

                  示例:假设用户的时间是 13 Nov 2012 07:00:00 AM(+0800 GMT) 并且服务器时间是 12 Nov 2012 11:00:00 PM(UTC) 并且 $item_date 的时间戳是 2012 年 11 月 12 日晚上 10:30:00 (UTC) 所以

                  Example: let's say if the user's time is 13 Nov 2012 07:00:00 AM(+0800 GMT) and the server time is 12 Nov 2012 11:00:00 PM(UTC) and the timestamp of $item_date is 12 Nov 2012 10:30:00 PM (UTC) so

                  (UTC) 的用户将看到 $item_date 为:

                  User with (UTC) will see $item_date as:

                  2012 年 11 月 12 日晚上 10:30:00

                  12 Nov 2012 10:30:00 PM

                  使用 (+0800 GMT) 的用户将看到 $item_date 为:

                  and user with (+0800 GMT) will see $item_date as:

                  2012 年 11 月 13 日下午 6:30:00

                  13 Nov 2012 06:30:00 PM

                  我该如何完成?谢谢

                  推荐答案

                  这篇文章已经更新,包含一个完整的例子

                  <?php
                      session_start();
                  
                      if (isset($_POST['timezone']))
                      {
                          $_SESSION['tz'] = $_POST['timezone'];
                          exit;
                      }
                  
                      if (isset($_SESSION['tz']))
                      {
                          //at this point, you have the users timezone in your session
                          $item_date = 1371278212;
                  
                          $dt = new DateTime();
                          $dt->setTimestamp($item_date);
                  
                          //just for the fun: what would it be in UTC?
                          $dt->setTimezone(new DateTimeZone("UTC"));
                          $would_be = $dt->format('Y-m-d H:i:sP');
                  
                          $dt->setTimezone(new DateTimeZone($_SESSION['tz']));
                          $is = $dt->format('Y-m-d H:i:sP');
                  
                          echo "Timestamp " . $item_date . " is date " . $is . 
                               " in users timezone " . $dt->getTimezone()->getName() .
                               " and would be " . $would_be . " in UTC<br />";
                      }
                  ?>
                  
                  <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
                  <script src="http://cdnjs.cloudflare.com/ajax/libs/jstimezonedetect/1.0.4/jstz.min.js"></script>
                  <script language="javascript">
                    $(document).ready(function() {
                          <?php if (!isset($_SESSION['tz'])) { ?>
                              $.ajax({
                                  type: "POST",
                                  url: "tz.php",
                                  data: 'timezone=' + jstz.determine().name(),
                                  success: function(data){
                                      location.reload();
                                  }
                              });
                  
                          <?php } ?>        
                      });
                  </script>
                  

                  我希望这已经足够清楚了;).

                  I hope this is now clear enough ;).

                  这篇关于PHP时间戳日期到用户时区的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:在 PHP 中将 TIMESTAMP 转换为 unix 时间? 下一篇:日期时间到时间戳

                  相关文章

                      <small id='9Q8SL'></small><noframes id='9Q8SL'>

                    1. <legend id='9Q8SL'><style id='9Q8SL'><dir id='9Q8SL'><q id='9Q8SL'></q></dir></style></legend>

                      • <bdo id='9Q8SL'></bdo><ul id='9Q8SL'></ul>

                      <tfoot id='9Q8SL'></tfoot>
                      <i id='9Q8SL'><tr id='9Q8SL'><dt id='9Q8SL'><q id='9Q8SL'><span id='9Q8SL'><b id='9Q8SL'><form id='9Q8SL'><ins id='9Q8SL'></ins><ul id='9Q8SL'></ul><sub id='9Q8SL'></sub></form><legend id='9Q8SL'></legend><bdo id='9Q8SL'><pre id='9Q8SL'><center id='9Q8SL'></center></pre></bdo></b><th id='9Q8SL'></th></span></q></dt></tr></i><div id='9Q8SL'><tfoot id='9Q8SL'></tfoot><dl id='9Q8SL'><fieldset id='9Q8SL'></fieldset></dl></div>