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


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 VS ASP
Oct 09 PHP
php Undefined index的问题
Jun 01 PHP
php下目前为目最全的CURL中文说明
Aug 01 PHP
PHP APC的安装与使用详解
Jun 13 PHP
php二维数组排序方法(array_multisort usort)
Dec 25 PHP
php常用hash加密函数
Nov 22 PHP
php将图片保存入mysql数据库失败的解决方法
Dec 27 PHP
php建立Ftp连接的方法
Mar 07 PHP
php数组随机排序实现方法
Jun 13 PHP
php生成高清缩略图实例详解
Dec 07 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
Jun 13 PHP
php session_decode函数用法讲解
May 26 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/02 无线电
php获取、检查类名、函数名、方法名的函数方法
2015/06/25 PHP
PHP YII框架开发小技巧之模型(models)中rules自定义验证规则
2015/11/16 PHP
在PHP中输出JS语句以及乱码问题的解决方案
2019/02/13 PHP
一个简单的JavaScript 日期计算算法
2009/09/11 Javascript
JQuery给元素添加/删除节点比如select
2013/04/02 Javascript
判断一个变量是数组Array类型的方法
2013/09/16 Javascript
node.js中使用q.js实现api的promise化
2014/09/17 Javascript
深入探讨javascript中的数据类型
2015/03/04 Javascript
js改变Iframe中Src的方法
2015/05/05 Javascript
text-align:justify实现文本两端对齐 兼容IE
2015/08/19 Javascript
jquery 获取select数组与name数组长度的实现代码
2016/06/20 Javascript
jquery dataTable 获取某行数据
2017/05/05 jQuery
jQuery异步提交表单实例
2017/05/30 jQuery
angularjs实现上拉加载和下拉刷新数据功能
2017/06/12 Javascript
解决vue里碰到 $refs 的问题的方法
2017/07/13 Javascript
解决vue组件中使用v-for出现告警问题及v for指令介绍
2017/11/11 Javascript
详解JavaScript中的坐标和距离
2019/05/27 Javascript
Vue 实现从文件中获取文本信息的方法详解
2019/10/16 Javascript
详细分析React 表单与事件
2020/07/08 Javascript
[04:50]DOTA2亚洲邀请赛小组赛第四日 TOP10精彩集锦
2015/02/02 DOTA
跟老齐学Python之永远强大的函数
2014/09/14 Python
在Python中封装GObject模块进行图形化程序编程的教程
2015/04/14 Python
Python排序搜索基本算法之堆排序实例详解
2017/12/08 Python
python的exec、eval使用分析
2017/12/11 Python
Python 实现一行输入多个值的方法
2018/04/21 Python
python3个性签名设计实现代码
2018/06/19 Python
使用python itchat包爬取微信好友头像形成矩形头像集的方法
2019/02/21 Python
Linux安装Python3如何和系统自带的Python2并存
2020/07/23 Python
公司培训心得体会
2014/01/03 职场文书
运动会广播稿20字
2014/02/18 职场文书
老干部工作先进集体事迹材料
2014/05/21 职场文书
淮阳太昊陵导游词
2015/02/10 职场文书
毕业班班主任工作总结2015
2015/07/23 职场文书
python 统计代码耗时的几种方法分享
2021/04/02 Python
全网非常详细的pytest配置文件
2022/07/15 Python