【发布时间】:2016-12-13 23:08:22
【问题描述】:
大家好,我正在编写一个显示错误时间的 php 脚本。
我使用的函数是:
<?php
echo "The time is " . date("h:i:sa");
?>
这显示我的时间加上 6 小时。
但是当我使用<?php echo exec('date'); ?>
它显示正确的时间。
它是在 godaddy 上的专用 VPS 上设置的。 WHM 中的服务器时间设置为 -6 或 America/Central。
我正在使用第一个函数从 wordpress 中的自定义帖子类型中提取一个自定义字段,该字段显示学校的上学日。问题是,当时钟结束 6 小时时,它会显示错误的上学日,每天 12 小时(错了 6 小时,对了 12 小时,又错了 6 小时。)。
我试过在 PHP.ini 和 .htaccess 中设置它。WTF?整个小部件代码看起来像这样。
<?php
$current_day = date('Ymd');
// args
$args = array(
'posts_per_page' => 1,
'post_type' => 'schoolday',
'date_query' => array(
array(
'year' => $today["year"],
'month' => $today["mon"],
'day' => $today["mday"],
),
)
);
// get results
$the_query = new WP_Query( $args );
// The Loop
?>
<div class="one-half first"><time datetime="<?php echo date("Y-m-d");?>" class="icon">
<strong>School Day</strong>
<span><?php if( $the_query->have_posts() ): ?>
<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
<?php the_field('realschoolday'); ?></span>
</time></div><?php endwhile; ?><?php endif; ?>
<div class="one-half"><time datetime="<?php echo date("Y-m-d");?>" class="icon">
<em><?php echo date('l'); ?></em>
<strong><?php echo date('F'); ?></strong>
<span><?php echo date('jS'); ?></span>
</time></div>
<?php
echo "The time is " . date("h:i:sa");
?>
<br />
<?php echo exec('date'); ?>`
我添加了最后一行进行故障排除,它反映了正确的时间。什么#$%#。
我是 php 的超级新手,所以请善待。
【问题讨论】:
-
你的 php.ini 中的 date.timezone
-
date("h:i:sa");依赖于 php 内部时间,exec('date');调用该脚本下方的系统时间。 -
谢谢我的服务器支持团队不知道其中的区别。如何调整php内部时间?我已经在 WHM 中设置了它,并尝试了 .htacess 和 php.ini。谢谢。
-
配置
php.ini有什么运气吗?如果你不介意你能告诉我们你用的是什么操作系统吗?如果配置方面没有运气,您可能有兴趣尝试date_default_timezone_set(string)
标签: php wordpress date server whm