php代码:时区转换问题

在一本国外的教材上看到的实例,自己打进去后执行得不到书上实例的结果,想请大神看一下是哪里出了毛病。(书有点老,可能是版本之间不兼容)。下面把代码贴出来:<html><he... 在一本国外的教材上看到的实例,自己打进去后执行得不到书上实例的结果,想请大神看一下是哪里出了毛病。(书有点老,可能是版本之间不兼容)。下面把代码贴出来:
<html>
<head>
<title>Time Zone Converter</title>
</head>
<body>
<?php
//An array holds the standard time zone strings
$time_zones=array("Asia/Hong_Kong",
"Africa/Cairo",
"Europe/Paris",
"Europe/Landon",
"Europe/Madrid",
"Asia/Tokyo",
"America/New_York",
"America/Los_Angeles",
"America/Chicago");
//Check to see if the form has been sibmitted
if ($_GET["start_time"]!=NULL){
$start_time_input=$_GET["start_time"];
$start_tz=$_GET["start_tz"];
$end_tz=$_GET["end_tz"];
putenv("TZ=$start_tz");
$start_time=strtotime($start_time_input);
echo"<p><strong>";
echo date("h:i:sA",$start_time)."\n";
echo"</strong>";
putenv("TZ=$end_tz");

echo"in $start_tz becomes ";
echo"<strong>";
echo date("h:i:sA",$start_time)."\n";
echo"</strong>";
echo"in $end_tz.</p><hr/>";
}
?>
<form action="<?php echo($_SERVER['PHP_SELF']);?>" method="GET">
<label>
Your Time:
<input type="text" name="start_time" value="<?php echo $start_time_input;?>"/>
</label> in
<select name="start_tz">
<?php
foreach($time_zones as $tz){
echo '<option';
if (strcmp($tz,$start_tz)==0){
echo 'selected="selected"';
}
echo">$tz</option>";
}
?>
</select>
<p>Convert to:
<select name="end_tz">
<?php
foreach($time_zones as $tz){
echo "<option";
if(strcmp($tz,$end_tz)==0){
echo'selected="selected"';
}
echo">$tz</option>";
}
?>
</select>
<input type="subMit" value="Convert!">
</form>
</body>
</html>
展开
 我来答
genson_bd
推荐于2016-03-29 · 超过120用户采纳过TA的回答
知道小有建树答主
回答量:299
采纳率:0%
帮助的人:147万
展开全部
其实他要实现的功能就是设置系统环境不同时区.这个很简单.
$time_zones=array("Asia/Hong_Kong",
"Africa/Cairo",
"Europe/Paris",
"Europe/Landon",
"Europe/Madrid",
"Asia/Tokyo",
"America/New_York",
"America/Los_Angeles",
"America/Chicago");
foreach($time_zones as $time_zone)
{
putenv("TZ=".$time_zone);
echo $time_zone . '<br>' . date("Y-m-d H:i:sA").'<hr>';
}
上面的代码放上支如果时间没有不同的话因为是你服务器配置的问题. 正常的情况下是没有问题的.
然后你再检查下你的代码就OK啦.
学东西要了解到他的目的性与核心功能就好了.不用全部照搬的.
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
abcspy
2012-07-04 · 超过14用户采纳过TA的回答
知道答主
回答量:30
采纳率:0%
帮助的人:24万
展开全部
显示的输入时间,输出时间都用相同的变量 $start_time,又没有加减时区的时间差,自然不对,你在看看源码有没有少输。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
思行变邦
2012-07-04 · TA获得超过164个赞
知道小有建树答主
回答量:277
采纳率:100%
帮助的人:155万
展开全部
你知道怎么调试吗?你的程序执行到哪了,在那个地方不能输出,这么多代码不可能给你修改,其他人也是给你一些思路,关键自己的动手能力要强。你自己要懂得如何调试。你可以用print_r();打印你不懂的地方。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式