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


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
PHP extract 将数组拆分成多个变量的函数
Jun 30 PHP
php列出一个目录下的所有文件的代码
Oct 09 PHP
浅析Apache中RewriteCond规则参数的详细介绍
Jun 30 PHP
curl不使用文件存取cookie php使用curl获取cookie示例
Jan 26 PHP
PHP new static 和 new self详解
Feb 19 PHP
PHP简单实现循环链表功能示例
Nov 10 PHP
Laravel框架中自定义模板指令总结
Dec 17 PHP
自写的利用PDO对mysql数据库增删改查操作类
Feb 19 PHP
PHP实现动态删除XML数据的方法示例
Mar 30 PHP
PHP调用接口用post方法传送json数据的实例
May 31 PHP
PHP实现的数据对象映射模式详解
Mar 20 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
咖啡的传说和历史
2021/03/03 新手入门
用PHP和ACCESS写聊天室(八)
2006/10/09 PHP
Window 7/XP 安装Apache 2.4与PHP 5.4 的过程详解
2013/06/02 PHP
php json相关函数用法示例
2017/03/28 PHP
PHP大文件分割上传 PHP分片上传
2017/08/28 PHP
php strftime函数的详细用法
2018/06/21 PHP
统计jQuery中各字符串出现次数的工具
2012/05/03 Javascript
jquery子元素过滤选择器使用示例
2013/06/24 Javascript
JS增加行复制行删除行的实现代码
2013/11/09 Javascript
jQuery ajax调用WCF服务实例
2014/07/16 Javascript
javascript中的Base64、UTF8编码与解码详解
2015/03/18 Javascript
使用AngularJS对路由进行安全性处理的方法
2015/06/18 Javascript
jQuery+PHP实现可编辑表格字段内容并实时保存
2015/10/09 Javascript
基于BootStrap Metronic开发框架经验小结【三】下拉列表Select2插件的使用
2016/05/12 Javascript
AngularJS控制器之间的数据共享及通信详解
2016/08/01 Javascript
详解Angular路由 ng-route和ui-router的区别
2017/05/22 Javascript
jquery实现左右轮播切换效果
2018/01/01 jQuery
Vue中使用方法、计算属性或观察者的方法实例详解
2018/10/31 Javascript
jQuery插件实现非常实用的tab栏切换功能【案例】
2019/02/18 jQuery
node.js中express模块创建服务器和http模块客户端发请求
2019/03/06 Javascript
[07:54]DOTA2 MV《我的动力鞋》 ImbaTV 出品
2014/11/21 DOTA
[00:37]2016完美“圣”典风云人物:AMS宣传片
2016/12/06 DOTA
Python去除字符串两端空格的方法
2015/05/21 Python
django做form表单的数据验证过程详解
2019/07/26 Python
Django用户认证系统 Web请求中的认证解析
2019/08/02 Python
在 Python 中接管键盘中断信号的实现方法
2020/02/04 Python
浅谈anaconda python 版本对应关系
2020/10/07 Python
python爬虫scrapy基于CrawlSpider类的全站数据爬取示例解析
2021/02/20 Python
Microsoft新加坡官方网站:购买微软最新软件和技术产品
2016/10/28 全球购物
如何写一个Java类既可以用作applet也可以用作java应用
2016/01/18 面试题
毕业设计计划书
2014/01/09 职场文书
高中生期中考试失利检讨书
2014/10/23 职场文书
2014年幼儿园班级工作总结
2014/12/17 职场文书
捐款通知怎么写
2015/04/24 职场文书
python实现简易名片管理系统
2021/04/11 Python
MySQL 语句执行顺序举例解析
2022/06/05 MySQL