PHP表单处理问题
在一个页面里,同一个表单里有两个input,我想实现的是,第一个input里写入一个时间(2009-08-2410:42:17)第二个能自动变为三小时后的时间,如何实现高...
在一个页面里,同一个表单里有两个input,我想实现的是,第一个input里写入一个时间(2009-08-24 10:42:17)第二个能自动变为三小时后的时间,如何实现高手指点
展开
4个回答
展开全部
如果是用php处理的话,那就用把第一个input的时间取回来转换成unix timestamp,然后加上三个小时的秒数,然后用date函数格式化成你想要的格式。
要在前台解决的话,js取回来,也是格式化成timestamp,然后加上时间差的秒数,然后格式化回来
要在前台解决的话,js取回来,也是格式化成timestamp,然后加上时间差的秒数,然后格式化回来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有必要提交第二个吧?让用户提交第一个,php这边自动算出第二个就可以了
假设你提交的第一个是$timestamp1
那么php里计算出第二个就应该是
$timestamp1 = strtotime($timestamp1);
$timestamp2 = $timestamp1 + 3 * 3600;
这样就得到2个时间的时间戳,需要显示的时候再用gmdate函数转换就可以了。
如果你一定要使用表单的话,那就得用javascript而不是php了
假设你提交的第一个是$timestamp1
那么php里计算出第二个就应该是
$timestamp1 = strtotime($timestamp1);
$timestamp2 = $timestamp1 + 3 * 3600;
这样就得到2个时间的时间戳,需要显示的时候再用gmdate函数转换就可以了。
如果你一定要使用表单的话,那就得用javascript而不是php了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果你想要写入第一个时间的同时第二个就显示3个小时后,用AJAX吧,如果不用同步显示,楼上的都可以解决。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<?php
if ($_POST) {
$t1 = $_POST['t1'];
$t2 = date('Y-m-d H:i:s',strtotime($t1) + 3600 * 3 );
if ($t2 == '1970-01-01 03:00:00') {
$t2 = '输入时间格式不正确';
}
} else {
$t1 = '2009-08-24 10:42:17';
$t2 = '';
}
?>
<form method="post">
<input value="<?php echo $t1 ?>" name="t1" />
<input value="<?php echo $t2 ?>" name="t2" />
<input value="提交" type="submit" />
</form>
if ($_POST) {
$t1 = $_POST['t1'];
$t2 = date('Y-m-d H:i:s',strtotime($t1) + 3600 * 3 );
if ($t2 == '1970-01-01 03:00:00') {
$t2 = '输入时间格式不正确';
}
} else {
$t1 = '2009-08-24 10:42:17';
$t2 = '';
}
?>
<form method="post">
<input value="<?php echo $t1 ?>" name="t1" />
<input value="<?php echo $t2 ?>" name="t2" />
<input value="提交" type="submit" />
</form>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询