PHPMySQL计算日期差

来源:百度知道 编辑:UC知道 时间:2024/05/24 22:56:50
先是一个页面让用户输入一些数据,其中一项是生日(dob),这一部分代码如下:<tr>
<td><div align="right"><span class="STYLE19">dob</span></div></td>
<td><div align="left">
<input type="date" name="dob" />
</div></td>
</tr>

点提交后会因为action到第二个页面去验证。以POST方式把上个页面的输入的值传到这里,其中包括生日。下面就需要计算今天的日期和你输入的生日日期的差(结果是必须要大于18岁).可是却出现了下列情况,数据库也已经连接上了的:
$Dob = $_POST['dob'];//以post方式接收信息
$now = time();
echo "$Dob";
echo date("Y-m-d",$now);
echo date("Y-m-d",$Dob);

三个echo分别显示为:
2003-01-23 (上个页面按照这种格式输入的);
2009-04-07 (今天的时间,正确无误);
1970-01-01 (就是这里!按说应该也是2003-01-03才对啊,为什么出了个1970年呢?估计我时间差老是算不出来就是因为这地方有问题?请指教)

额外问题:1.怎样在第一个页面输入信息的时候,是输入的字母
自动变成大写呢? 2. 如何上传一张头像?photo那一项的type我弄成了file,之后该怎样做?以后当查询用户时需要显示头像的... 若解决这两个问题额外加高分!thx

计算日期差的例子代码:

<?php
$Dob='2003-01-23';//在你的程序中要使用$_POST获取
list($y,$m,$d)=explode('-',$Dob);
$age=ceil((time()-mktime(0,0,0,$m,$d,$y))/3600/36/365);
echo "$age\n";//这就能输入实满年龄:5岁
?>

相信你能仿照我上面的例子,编写出你满意的程序。

输入内容自动转换为大写的代码我在这个帖子中回答了你的:http://zhidao.baidu.com/question/92757708.html

如果你不使用我那个帖子的方法,也可以在PHP里面使用strtoupper函数进行转换,例如:

$Dob = strtoupper($_POST['dob']);//以post方式接收信息