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


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 相关文章推荐
PHP5.2中date()函数显示时间与北京时间相差8小时的解决办法
May 28 PHP
最新的php 文件上传模型,支持多文件上传
Aug 13 PHP
Windows7下PHP开发环境安装配置图文方法
May 20 PHP
PHP 如何利用phpexcel导入数据库
Aug 24 PHP
PHP包含文件函数include、include_once、require、require_once区别总结
Apr 05 PHP
php基于mcrypt的加密解密实例
Oct 27 PHP
PHP将Excel导入数据库及数据库数据导出至Excel的方法
Jun 24 PHP
PHP实现多文件上传的方法
Jul 08 PHP
php实现过滤字符串中的中文和数字实例
Jul 29 PHP
如何利用http协议发布博客园博文评论
Aug 03 PHP
dvwa+xampp搭建显示乱码的问题及解决方案
Aug 23 PHP
PHP标准库 (SPL)――Countable用法示例
Jun 05 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完全过滤HTML,JS,CSS等标签
2009/01/16 PHP
PHP连接Access数据库的方法小结
2013/06/20 PHP
PHP基于cookie与session统计网站访问量并输出显示的方法
2016/01/15 PHP
php网页版聊天软件实现代码
2016/08/12 PHP
详解Yii2.0使用AR联表查询实例
2017/06/16 PHP
浅谈laravel-admin form中的数据,在提交后,保存前,获取并进行编辑
2019/10/21 PHP
Laravel如何实现适合Api的异常处理响应格式
2020/06/14 PHP
浅谈tudou土豆网首页图片延迟加载的效果
2010/06/23 Javascript
遍历jquery对象的代码分享
2011/11/02 Javascript
全面理解面向对象的 JavaScript(来自ibm)
2013/11/10 Javascript
jQuery实现点击表格单元格就可以编辑内容的方法【测试可用】
2016/08/01 Javascript
js控制div层的叠加简单方法
2016/10/15 Javascript
浅谈javascript中的三种弹窗
2016/10/21 Javascript
JavaScript生成.xls文件的代码
2016/12/22 Javascript
理解 Node.js 事件驱动机制的原理
2017/08/16 Javascript
使用javaScript实现鼠标拖拽事件
2020/04/03 Javascript
微信小程序使用map组件实现检索(定位位置)周边的POI功能示例
2019/01/23 Javascript
微信小程序中如何计算距离某个节日还有多少天
2019/07/15 Javascript
javascript面向对象三大特征之封装实例详解
2019/07/24 Javascript
javascript实现贪吃蛇小游戏
2020/07/28 Javascript
[01:16]2014DOTA2 TI专访C9战队EE:中国五强中会占三席
2014/07/10 DOTA
利用Python实现简单的相似图片搜索的教程
2015/04/23 Python
python 类对象和实例对象动态添加方法(分享)
2017/12/31 Python
Python 处理图片像素点的实例
2019/01/08 Python
Python模拟百度自动输入搜索功能的实例
2019/02/14 Python
python实现自动化报表功能(Oracle/plsql/Excel/多线程)
2019/12/02 Python
Giuseppe Zanotti美国官方网站:将鞋履视为高级时装般精心制作
2018/02/06 全球购物
芝加哥牛排公司:Chicago Steak Company
2018/10/31 全球购物
美国最大和最受信任的二手轮胎商店:Bestusedtires.com
2020/06/02 全球购物
人力资源部培训专员岗位职责
2014/01/02 职场文书
自我鉴定注意事项
2014/01/19 职场文书
优秀求职信范文分享
2014/01/26 职场文书
《一本男孩子必读的书》教学反思
2014/02/19 职场文书
沈阳故宫导游词
2015/01/31 职场文书
tensorflow学习笔记之tfrecord文件的生成与读取
2021/03/31 Python
每日六道java新手入门面试题,通往自由的道路
2021/06/30 Java/Android