首页
新闻
UniX技术
数据库
经验交流
PHP
Linux考试认证
首页
>
PHP
如何实现给定日期的若干天以后的日期
时间:2010-02-01 13:23:43 作者:chinaitlab
我要投稿
Linux初探欢迎您的投稿,投放方法请点击
这里
查看,我们会定期赠送精美小礼品给优秀的投稿作者。海纳百川 取则行远!LinuxGoo欢迎您的到来。
这几天突然有很多的人问这样的问题,就是如何在PHP中实现在VB中的DateAdd的函数,呵呵!这个可是问个正着。
本来这个问题是 豆腐 去 华为 应聘的时候的一个考试题,不......
这几天突然有很多的人问这样的问题,就是如何在PHP中实现在VB中的DateAdd的函数,呵呵!这个可是问个正着。
本来这个问题是 豆腐 去 华为 应聘的时候的一个考试题,不过当时是用C 实现的。没有想到这样的大公司,竟
然用这样的小儿科来考试:),后来我没有去,这两天 应 http://www.chinaspx.com 的 网友--》运气,用PHP重新
写了这个函数。
这个函数是很简单,就是加上给 指定时间加上一天,得到新生成的日期,如果要扩展,也是很简单的。
下面首先来看这个函数,首先要提前讲个函数,判断当前是否是闰年的函数
function CheckRun($year){
if($year%4==0 && ($year0!=0 || $year@0==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");
如果要测试增加若干天,只要加个循环就可以了,相信大家都是 高人,这个功能很简单吧:)
如果您需转载 如何实现给定日期的若干天以后的日期,请注明来自LinuxGoo.com,其版权归原作者所有。请广大网友留言时遵纪守法,使用文明用语。如果您在应用中有什么问题,请在下面留言,我们会尽快解答。
来顶一下
返回首页
发表评论
共有
条评论
用户名:
密码:
验证码:
匿名发表
相关文章
一些使用频率比较高的PHP函数
在php开发中,我们经常会遇到一些函数,下面是整理好的,可以直接使用,方便开发
关于php-cgi 的 SIGSEGV 错误的一些想法
几台使用了 nginx php-fpm 的机器上,偶尔能看到php-fpm.log中有这样的内容
PHP新手上路(二)
为什么要选择PHP 2. 竞争对手:ASP,mod_perl,JSP 用于实现交互式动态网页的
基于多线程的数据库连接池
基于多线程的数据库连接池并支持两种数据库 mssql 和 mysql:1、ConnectPo
Linux双网卡绑定一个IP原理及实现
Linux下双网卡绑定技术实现负载均衡和失效保护cgweb保持服务器的高可用性
linux下面串口工具C-kermit
C-kermit是一款集成了网络通信、串口通信的工具,它有如下多种功能 1.支
如何做到多筆資料的同步
一次叫出多筆資料,然後在同一個網頁中「逐一」「分別」做不同的處理,最後「
如何彻底卸载Oracle
下面是我在网上找到的两种卸载oracle 9i 的几种方法:第一种方法:在win2000
PHP中的串行化变量和序列化对象
串行化大概就是把一些变量转化成为字符串的字节流的形式,这样比较容易
检查SQL Server2005中的重叠索引(Detecting
Detecting Overlapping Indexes in SQL Server 2005http://blogs.msdn.co
Linux操作系统中用PHP构建网站详解
如何架设一个新闻系统呢?一个完整的新闻系统不仅仅只包括供浏览的新
删除U盘顽固病毒还Linux一个清静空间
U盘病毒,每次在linux下面看到这个什么auto之类的文件。 ls -l发现,属性
VMware下Linux与真实主机共享上网
实现环境: 真实机系统为windows xp或者2003,使用adsl拨号上网,虚拟
PHP的优化,缓冲,压缩实际的解决方案
本文提出了实用的PHP的优化,缓冲,压缩实际的解决方案。作为流行的 Web 编程
虚拟机中Linux不能引导的问题
弄了个虚拟机,也带动了周边的同学学习,呵呵,帮他们也装了个,装上了linux
php调用存储过程返回结果集,解决can't retu
需要php调用存储过程,返回一个结果集,发现很困难,找了半天,终于在老外的论坛
栏目热门
有关nginx upstream的几种分配方式
PHP的PDO类教程
php6介绍和php6安装手册-PHP6下载
Windows、Apache、Mysql和Php平台搭建
PHP Socket编程起步
站内搜索:
Linux
高级搜索
Powered by
Linux初探
© 1999-2009
RSS