如何实现给定日期的若干天以后的日期


Posted in PHP onOctober 09, 2006

这几天突然有很多的人问这样的问题,就是如何在PHP中实现在VB中的DateAdd的函数,呵呵!这个可是问个正着。
本来这个问题是 豆腐 去 华为 应聘的时候的一个考试题,不过当时是用C++实现的。没有想到这样的大公司,竟
然用这样的小儿科来考试:),后来我没有去,这两天 应 http://www.chinaspx.com 的 网友--》运气,用PHP重新
写了这个函数。
这个函数是很简单,就是加上给 指定时间加上一天,得到新生成的日期,如果要扩展,也是很简单的。
下面首先来看这个函数,首先要提前讲个函数,判断当前是否是闰年的函数
function CheckRun($year){
if($year%4==0 && ($year%100!=0 || $year%400==0) )
return true;
else
return false;
}
我们要在下面的程序中用到这个函数
function DateAdd($date){
$parts = explode(' ', $date);
$date = $parts[0];
$time = $parts[1];
$ymd = explode('-', $date);
$hms = explode(':', $time);
$year = $ymd[0];
$month = $ymd[1];
$day = $ymd[2];
$hour = $hms[0];
$minute = $hms[1];
$second = $hms[2];
$day=$day+1 ; //废话少说,先把日期加一再说
if($month=='1' || $month=='3' || $month=='5' || $month=='7' || $month=='8' || $month=='10' || $month=='12')
if($day==32)
{
$day='1';
$month++;
}
if($month=='4' || $month=='6' || $month=='9' || $month=='11')
if($day==31)
{
$day='1';
$month++;
}
if($month=='2')
if(CheckRun($year))
{
//闰年 2月有 29 天
if($day==30)
{
$day=1;
$month++;
}
}
else
{
//不是闰年
if($day==29)
{
$day=1;
$month++;
}
}
if($month==13)
{
$month=1;
$year++;
}
return $year . "-" . $month . "-" . $day;
}
好了,下面来测试一下
echo DateAdd("1999-12-31 11:11:11");
echo DateAdd("2000-2-29 11:11:11");
如果要测试增加若干天,只要加个循环就可以了,相信大家都是 高人,这个功能很简单吧:)

PHP 相关文章推荐
PHP实现分页的一个示例
Oct 09 PHP
Zend Guard一些常见问题解答
Sep 11 PHP
php+jquery编码方面的一些心得(utf-8 gb2312)
Oct 12 PHP
php学习之 循环结构实现代码
Jun 09 PHP
php简单的会话类代码
Aug 08 PHP
PHP获取用户的浏览器与操作系统信息的代码
Sep 04 PHP
PHP中ini_set和ini_get函数的用法小结
Feb 18 PHP
php版本的cron定时任务执行器使用实例
Aug 19 PHP
PHP 生成微信红包代码简单
Mar 25 PHP
php简单实现批量上传图片的方法
May 09 PHP
理解php依赖注入和控制反转
May 11 PHP
ThinkPHP实现静态缓存和动态缓存示例代码
May 02 PHP
模拟SQLSERVER的两个函数:dateadd(),datediff()
Oct 09 #PHP
实时抓取YAHOO股票报价的代码
Oct 09 #PHP
php访问查询mysql数据的三种方法
Oct 09 #PHP
杏林同学录(一)
Oct 09 #PHP
杏林同学录(二)
Oct 09 #PHP
基于mysql的bbs设计(五)
Oct 09 #PHP
PHP+DBM的同学录程序(5)
Oct 09 #PHP
You might like
php下判断数组中是否存在相同的值array_unique
2008/03/25 PHP
PHP 采集程序中常用的函数
2009/12/09 PHP
Windows7下PHP开发环境安装配置图文方法
2010/05/20 PHP
PHP入门学习笔记之一
2010/10/12 PHP
php curl基本操作详解
2013/07/23 PHP
PHP利用REFERER根居访问来地址进行页面跳转
2013/09/28 PHP
Yii框架结合sphinx,Ajax实现搜索分页功能示例
2016/10/18 PHP
php实现数据库的增删改查
2017/02/26 PHP
PHP实现的登录页面信息提示功能示例
2017/07/24 PHP
js+html+css实现鼠标移动div实例
2013/01/30 Javascript
Javascript验证上传图片大小[前台处理]
2014/07/18 Javascript
jQuery插件imgPreviewQs实现上传图片预览
2016/01/15 Javascript
Node.js学习入门
2017/01/03 Javascript
使用grunt合并压缩js和css文件的方法
2017/03/02 Javascript
vue2.0 axios前后端数据处理实例代码
2017/06/30 Javascript
详解Vue Elememt-UI构建管理后台
2018/02/27 Javascript
对angularJs中controller控制器scope父子集作用域的实例讲解
2018/10/08 Javascript
Windows下支持自动更新的Electron应用脚手架的方法
2018/12/24 Javascript
深入浅出 Vue 系列 -- 数据劫持实现原理
2019/04/23 Javascript
python类继承用法实例分析
2015/05/27 Python
Windows系统下PhantomJS的安装和基本用法
2018/10/21 Python
python字符串,元组,列表,字典互转代码实例详解
2020/02/14 Python
使用python脚本自动生成K8S-YAML的方法示例
2020/07/12 Python
Python容器类型公共方法总结
2020/08/19 Python
Django路由层URLconf作用及原理解析
2020/09/24 Python
基于python模拟TCP3次握手连接及发送数据
2020/11/06 Python
雅诗兰黛澳大利亚官网:Estée Lauder澳大利亚
2019/05/31 全球购物
行政经理的岗位职责
2013/11/23 职场文书
历史专业个人求职信范文
2013/12/07 职场文书
《中华少年》教学反思
2014/02/15 职场文书
艾滋病宣传标语
2014/06/25 职场文书
高一军训的心得体会
2014/09/01 职场文书
2014年服务员工作总结
2014/11/18 职场文书
2014幼儿园卫生保健工作总结
2014/12/05 职场文书
胡雪岩故居导游词
2015/02/06 职场文书
Jpa Specification如何实现and和or同时使用查询
2021/11/23 Java/Android