这几天突然有很多的人问这样的问题,就是如何在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");
如果要测试增加若干天,只要加个循环就可以了,相信大家都是 高人,这个功能很简单吧:)
如何实现给定日期的若干天以后的日期
时间: 2024-12-31 09:39:26
如何实现给定日期的若干天以后的日期的相关文章
如何实现给定日期的若干天以后的日期(有点类似VB中的DateAdd)
如何实现给定日期的若干天以后的日期(有点类似VB中的DateAdd)/* 豆腐制作 都是精品 http://www.asp888.net 豆腐技术站 如转载 请保留完整版权信息*/这几天突然有很多的人问这样的问题,就是如何在PHP中实现在VB中的DateAdd的函数,呵呵!这个可是问个正着.本来这个问题是 豆腐 去 华为 应聘的时候的一个考试题,不过当时是用C++实现的.没有想到这样的大公司,竟然用这样的小儿科来考试:),后来我没有去,这两天 应 http://www.chinaspx.
如何实现给定日期的若干天以后的日期_php基础
这几天突然有很多的人问这样的问题,就是如何在PHP中实现在VB中的DateAdd的函数,呵呵!这个可是问个正着.本来这个问题是 豆腐 去 华为 应聘的时候的一个考试题,不过当时是用C++实现的.没有想到这样的大公司,竟然用这样的小儿科来考试:),后来我没有去,这两天 应 http://www.chinaspx.com 的 网友-->运气,用PHP重新写了这个函数.这个函数是很简单,就是加上给 指定时间加上一天,得到新生成的日期,如果要扩展,也是很简单的.下面首先来看这个函数,首先要提前讲个函数,
python判断给定的字符串是否是有效日期的方法
本文实例讲述了python判断给定的字符串是否是有效日期的方法.分享给大家供大家参考.具体分析如下: 这里python判断给定的字符串是否是一个有效的日期,如果是一个日期格式的字符串,该函数返回True,否则返回False ? 1 2 3 4 5 6 7 def is_valid_date(str): '''判断是否是一个有效的日期字符串''' try: time.strptime(str, "%Y-%m-%d") return True except: return False
如何使用PHP获取指定日期所在月的开始日期与结束日期
以下是对PHP获取指定日期所在月的开始日期与结束日期的实现代码进行了详细的分析介绍,需要的朋友可以过来参考下 复制代码 代码如下: /** * 获取指定日期所在月的开始日期与结束日期 * @param string $date * @param boolean 为true返回开始日期,否则返回结束日期 * @return array * @access private */ private function getMo
java-Java 未知格式日期字符串如何转换成日期对象
问题描述 Java 未知格式日期字符串如何转换成日期对象 5C 如题,一种未知的日期格式的字符串如何转换为日期对象如值可能是 2015-02-06T03:57:23+00:002014-10-20 03:24:32.0638th Apr 2015 02:276/13/2015 5:47 PM 等等常规的世界日期格式,如何转成日期对象 解决方案 只能把可能的格式都列上,然后一个一个匹配,匹配上的就转换,没有匹配上的不转换. 解决方案二: 只能用正则表达式依次匹配,然后再调用对应的格式解析. 解决方
my97 datepicker-My97 DatePicker 中可以使日期选择框和显示日期的文本框绑定在一起吗?
问题描述 My97 DatePicker 中可以使日期选择框和显示日期的文本框绑定在一起吗? 做项目是用easyui,引进了My97 DatePicker控件,在浏览器窗口大小改变,而弹出的dialog不能居中,我专门写了一个事件使得浏览器窗口改变时,使dialog居中,其中有的dialog中有选择时间的文本框.当弹出dialog,触发时间的文本框onfocus事件,弹出日期选择框,此时改变浏览器窗口,整个dialog移动居中,但是日期选择框并没有移动.所以,想请教各位大神,怎么使My97 Da
oracle中如何获取两个日期之间指定星期的日期是多少
问题描述 oracle中如何获取两个日期之间指定星期的日期是多少 如题,现在用户选择了一个起始日期和截止日期, 也选择了几个星期, 那么如何得到他选择的这几个星期的日期分别是多少? 解决方案 获取两个日期之间星期X的日期列表获取两个日期之间的日期间隔获取指定日期是星期几 解决方案二: 我的思路是这样的 1.写个方法,获取 起始,截止 日期之间 所有的日期 2.oracle提供了获取指定日期是星期几 的 函数 把选定的星期作为条件即可 解决方案三: DECLARE v_date date; v_n
java 计算某日期 多少天后的日期
问题描述 我现在有一日期 ,不是当前的日期,是一个不定日期(比如:2008-10-5) 用java 来求取:加上或者减去 几天后的日期 ? 解决方案 给你一段代码,你研究一下:import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.GregorianCalendar;public class Datetest {/** * * @par
新手问题关于中文字符比较方法(输入数字日期,转换为中文大写日期)
问题描述 输入数字日期,转换为中文大写日期例输入2014年1月1日转换为贰零壹肆年壹月壹日为什么我的代码在比较中文字没有效果?如何比对中文字?usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceConsoleApplication1{classClass2{publicstaticvoidMain(string[]args){char[]index={'零','壹','贰',