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


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中get_headers函数的作用及用法的详细介绍
Apr 27 PHP
深入解析PHP中的(伪)多线程与多进程
Jul 01 PHP
php获取mysql字段名称和其它信息的例子
Apr 14 PHP
CI框架中通过hook的方式实现简单的权限控制
Jan 07 PHP
PHP往XML中添加节点的方法
Mar 12 PHP
PHP输出日历表代码实例
Mar 27 PHP
wampserver改变默认网站目录的办法
Aug 05 PHP
PHP判断来访是搜索引擎蜘蛛还是普通用户的代码小结
Sep 14 PHP
学习php设计模式 php实现状态模式
Dec 07 PHP
PHP上传图片类显示缩略图功能
Jun 30 PHP
PHP中的正则表达式实例详解
Apr 25 PHP
PHP实现微信图片上传到服务器的方法示例
Jun 29 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递归调用的小技巧讲解
2013/02/19 PHP
php 在字符串指定位置插入新字符的简单实现
2016/06/28 PHP
PHP基于ICU扩展intl快速实现汉字转拼音及按拼音首字母分组排序的方法
2017/05/03 PHP
laravel框架邮箱认证实现方法详解
2019/11/22 PHP
Mootools 1.2教程 设置和获取样式表属性
2009/09/15 Javascript
jquery ajax修改全局变量示例代码
2013/11/08 Javascript
jQuery实现tab标签自动切换的方法
2015/02/28 Javascript
第六章之辅组类与响应式工具
2016/04/25 Javascript
总结javascript中的六种迭代器
2016/08/16 Javascript
JavaScript 数组的深度复制解析
2016/11/02 Javascript
Bootstrap Modal对话框如何在关闭时触发事件
2016/12/02 Javascript
jquery操作ul的一些操作笔记整理(干货)
2017/08/31 jQuery
详解基于 Nuxt 的 Vue.js 服务端渲染实践
2017/10/24 Javascript
JS中数组与对象的遍历方法实例小结
2018/08/14 Javascript
Vue+element 解决浏览器自动填充记住的账号密码问题
2019/06/11 Javascript
Vue程序调试的方法
2019/06/17 Javascript
记一次用ts+vuecli4重构项目的实现
2020/05/21 Javascript
python3使用urllib示例取googletranslate(谷歌翻译)
2014/01/23 Python
使用Python的Django框架实现事务交易管理的教程
2015/04/20 Python
python使用xmlrpclib模块实现对百度google的ping功能
2015/06/02 Python
Python实现嵌套列表去重方法示例
2017/12/28 Python
使用pandas read_table读取csv文件的方法
2018/07/04 Python
对numpy中的where方法嵌套使用详解
2018/10/31 Python
python 获取一个值在某个区间的指定倍数的值方法
2018/11/12 Python
python 随机打乱 图片和对应的标签方法
2018/12/14 Python
python使用selenium实现批量文件下载
2019/03/11 Python
python+flask编写一个简单的登录接口
2020/11/13 Python
工商管理专业实习大学生自我鉴定
2013/09/19 职场文书
培训讲师岗位职责
2014/04/13 职场文书
优秀共产党员演讲稿
2014/09/04 职场文书
小学趣味运动会加油稿
2014/09/25 职场文书
股份转让协议书范本
2015/01/27 职场文书
公文格式,规则明细(新手收藏)
2019/07/23 职场文书
Python基础之hashlib模块详解
2021/05/06 Python
Centos7中MySQL数据库使用mysqldump进行每日自动备份的编写
2021/08/02 MySQL
Python使用DFA算法过滤内容敏感词
2022/04/22 Python