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


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 相关文章推荐
Adodb的十个实例(清晰版)
Dec 31 PHP
php strstr查找字符串中是否包含某些字符的查找函数
Jun 03 PHP
php实现简单洗牌算法
Jun 18 PHP
成为好程序员必须避免的5个坏习惯
Jul 04 PHP
PHP中filter函数校验数据的方法详解
Jul 31 PHP
编写PHP程序检查字符串中的中文字符个数的实例分享
Mar 17 PHP
round robin权重轮循算法php实现代码
May 28 PHP
Yii配置与使用memcached缓存的方法
Jul 13 PHP
php+redis实现注册、删除、编辑、分页、登录、关注等功能示例
Feb 15 PHP
php生成图片缩略图功能示例
Feb 22 PHP
PHP获取数据库表中的数据插入新的表再原删除数据方法
Oct 12 PHP
Laravel使用Queue队列的技巧汇总
Sep 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
教你IIS6的PHP最佳配置方法
2006/09/05 PHP
使用php发送有附件的电子邮件-(PHPMailer使用的实例分析)
2013/04/26 PHP
php调用c接口无错版介绍
2014/03/11 PHP
php+ajax实现图片文件上传功能实例
2014/06/17 PHP
PHP获取文件行数的方法
2015/06/10 PHP
php+html5基于websocket实现聊天室的方法
2015/07/17 PHP
Centos6.5和Centos7 php环境搭建方法
2016/05/27 PHP
PHP编程中的Session阻塞问题与解决方法分析
2017/08/07 PHP
PHP数据库操作四:mongodb用法分析
2017/08/16 PHP
laravel 字段格式化 modle 字段类型转换方法
2019/09/30 PHP
用js实现table单元格高宽调整,兼容合并单元格(兼容IE6、7、8、FF)实例
2013/06/25 Javascript
可以用鼠标拖动的DIV实现思路及代码
2013/10/21 Javascript
JavaScript实现控制打开文件另存为对话框的方法
2015/04/17 Javascript
javascript实现捕捉键盘上按下的键
2015/05/05 Javascript
JavaScript仿支付宝密码输入框
2015/12/29 Javascript
超漂亮的Bootstrap 富文本编辑器summernote
2016/04/05 Javascript
AngularJs expression详解及简单示例
2016/09/01 Javascript
jQuery实现的表格展开伸缩效果实例
2016/09/07 Javascript
jQuery实现的页面遮罩层功能示例【测试可用】
2017/10/14 jQuery
javascript字体颜色控件的开发 JS实现字体控制
2017/11/27 Javascript
swiper移动端轮播插件(触碰图片之后停止轮播)
2017/12/28 Javascript
js 对象使用的小技巧实例分析
2019/11/08 Javascript
python2.7 json 转换日期的处理的示例
2018/03/07 Python
解决python线程卡死的问题
2019/02/18 Python
python求最大值最小值方法总结
2019/06/25 Python
Python如何基于rsa模块实现非对称加密与解密
2020/01/03 Python
村捐赠仪式答谢词
2014/01/21 职场文书
制药工程专业个人求职自荐信
2014/01/25 职场文书
三字经教学反思
2014/04/26 职场文书
税务职业生涯规划书范文
2014/09/16 职场文书
乡镇党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
中秋节主题班会
2015/08/14 职场文书
高一化学教学反思
2016/02/22 职场文书
PyCharm 安装与使用配置教程(windows,mac通用)
2021/05/12 Python
一篇文章搞懂python混乱的切换操作与优雅的推导式
2021/08/23 Python
第四次工业革命,打工人与机器人的竞争
2022/04/21 数码科技