【问题标题】:wordpress - current timezone using phpwordpress - 使用 php 的当前时区
【发布时间】:2013-04-30 06:32:40
【问题描述】:

我需要在我的 wordpress 网站中显示当前时间和时区。

我知道如何获取当前时间。但我不知道如何获取时区。

我无法为此使用任何插件。

请有人帮助我使用 php 代码获取时区

【问题讨论】:

  • 我假设您的意思是客户端时区?注意服务器时区和客户端时区的区别。

标签: php wordpress timezone


【解决方案1】:
/**
 * This is how wordpress gets the current date and time
 * as per the timezone setting used in the WP-Admin settings
 * @see /wp-admin/options-general.php:160
 */
$now = date_create( date_i18n( 'Y-m-d H:i:s' ) );

【讨论】:

  • 如何为每个用户获取时区。我的意思是,如果您从设置中获取时区,根据我的理解,它对所有人都是一样的,但是如果我想检测不同用户的时区怎么办
  • 如果您使用 php 来检测时区,它将为您提供服务器的时区。如果您想获取用户的时区,则需要使用 javascript,因为它在他们的机器上运行,所以它使用他们的时区
【解决方案2】:

我正在使用此代码:

<?php
        if (date_default_timezone_get()) {

            echo 'Current Time in  ' . date_default_timezone_get() . ':';

        }
?>

看看this

【讨论】:

  • 哇!!!..这么简单的代码..它对我来说就像一个魅力..非常感谢:)
  • 这将为您提供您的服务器的时区 - 而不是访问您网站的人。
【解决方案3】:

您可以像我将时区设置为印度一样回显时区

      <?php 
         if(empty($_GET['useroffset'])){ 
            echo '<SCRIPT Language="JavaScript"> 
                  var curDateTime = new Date() 
                  document.write("GMT Offset for your time zone is ") 
                  document.write(-(curDateTime.getTimezoneOffset()/60)) 
                 </SCRIPT>'; 
         } 
         elseif(is_numeric($_GET['useroffset'])){ 
            $useroffset = $_GET['useroffset']; 
            echo $useroffset; 
         } 
     ?>

根据要求进行新的编辑

您需要在客户端上的时间,您可以使用以下方式从 Javascript 中获取:

d=new Date();
offset=d.getTimezoneOffset();

以分钟为单位返回用户与 GMT 的偏移量。将此传递给您的 PHP (AJAX) 并使用类似:

  $zero = 0;
  $timenow = date("D d M Y H:i:s");
  $tserver = strtotime($timenow, $zero);
  $timenow .= " UTC";
  $tUTC = strtotime($timenow, $zero);
  $diff = ($tserver - $tUTC)/60;
//  echo("Client Difference:" . $offset . " Server Difference:" . $diff);
  $offset =  $diff - $offset;

这为您提供服务器和客户端之间的偏移量,然后您可以将其应用于计算。

【讨论】:

  • @Deonia:对不起。它显示已设置的时区。我需要显示默认时区。
  • 您是否要根据访问者时区显示时区?
  • @Veena 请查看新的编辑。您可以由此获得偏移量并可以进一步细化
  • current 偏移量不能应用于后端的all 日期,因为偏移量可能会因 DST 和其他异常情况而改变。请参阅the timezone tag wiki 中的“时区!= 偏移量”。
猜你喜欢
  • 1970-01-01
  • 2015-04-30
  • 2011-09-14
  • 2012-04-07
  • 1970-01-01
  • 1970-01-01
  • 2014-02-14
  • 2018-03-13
  • 2011-03-15
相关资源
最近更新 更多