php中两日期比较程序代码

 代码如下 复制代码

<?php
/*
  * 作者:不知道作者是谁
  * 日期:2008-4-13
  * 功能:计算两个日期的时间差
  * 备注:基本上没有修改程序代码,仅将书写规范了下,以及做了注释  // 曼查罗
  */
  
// 定义要比较的两个日期
$Date_1="2008-7-15";
$Date_2="2006-7-14";  

// 将日期化成数组,以便制作时间戳
$Date_List_1=explode("-",$Date_1);  
$Date_List_2=explode("-",$Date_2);  

// 制作时间戳
$d1=mktime(0,0,0,$Date_List_1[1],$Date_List_1[2],$Date_List_1[0]);  
$d2=mktime(0,0,0,$Date_List_2[1],$Date_List_2[2],$Date_List_2[0]);  

// 日期比较
$Days=round(($d1-$d2)/3600/24);  

// 输出结果
echo "$Days days";  
?>

方法二

 代码如下 复制代码

<?php
/*
  * 作者:曼查罗
  * 日期:2008-4-13
  * 功能:计算两个日期的时间差
  */

// 用php自带函数strtotime对日期进行时间戳格式化
$date1_ts = strtotime("2008-7-15");
$date2_ts = strtotime("2006-7-14");

// 日期比较
$days=round(($date1_ts-$date2_ts)/3600/24);

// 输出结果
echo "$days days";
?>


功能


说明


实例

                 

checkdate($month, $date, $year)


如果应用的值构成一个有效日期,则该函数返回为真。例如,对于错误日期2005年2月31日,此函数返回为假。

       

在日期用于计算或保存在数据库中之前,可用此函数检查日期并使日期生效。


<?php

       

// returns false

       

echo checkdate(2,30,2005) ?

       

"valid" :

       

"invalid";

       

 

       

// returns true

       

echo checkdate(4,6,2010) ? "valid" :

       

"invalid";

       

?>


getdate($ts)


在没有自变量的情况下,该函数以结合数组的方式返回当前日期与时间。数组中的每个元素代表日期/时间值中的一个特定组成部分。可向函数提交可选的时间标签自变量,以获得与时间标签对应的日期/时间值。

       

应用此函数来获得一系列离散的,容易分离的日期/时间值。


<?php

       

// returns timestamp for

       

13:15:23

       

7-Jun-2006

       

echo mktime(13,15,23,6,7,2006);

       

?>


mktime($hour,

       

$minute,

       

$second,

       

$month, $day,

       

$year)


此函数的作用与getdate()的作用相反:它由一系列的日期与时间值生成一个UNIX时间标签(GMT时间1970年1月1日到现在消逝的秒数)。不用自变量时,它生成当前时间的UNIX时间标签。

       

用此函数获得即时时间的UNIX时间标签。这种时间标签通常用于许多数据库与程序语言中。


<?php

       

// returns timestamp for

       

13:15:23

       

7-Jun-2006

       

echo mktime(13,15,23,6,7,2006);

       

?>

       

date($format, $ts)


此函数将UNIX时间标签格式化成一个可人为阅读的日期字符串。它是PHP日期/时间API中功能最为强大的函数,可用在一系列的修正值中,将整数时间标签转变为所需的字符串格式。

       

 

       

为显示格式化时间或日期时,应用此函数。


<?php

       

// format current date

       

// returns "13-Sep-2005 01:16 PM"

       

echo date("d-M-Y h:i A", mktime

       

());

       

?>

       

strtotime ($str)


此函数将可人为阅读的英文日期/时间字符串转换成UNIX时间标签。

       

应用此函数将非标准化的日期/时间字符串转换成标准、兼容的UNIX时间标签。


<?php

       

// returns 13-Sep-05

       

echo date("d-M-y",

       

strtotime("today"));

       

 

       

// returns 14-Sep-05

       

echo date("d-M-y",

       

strtotime("tomorrow"));

       

 

       

// returns 16-Sep-05

       

echo date("d-M-y", strtotime("today +3

       

days"));

       

?>

                 

strftime ($format, $ts)


如前面的setlocale()函数定义的那样,此函数将UNIX时间标签格式化成适用于当前环境的日期字符串。

       

应用此函数建立与当前环境兼容的日期字符串。


<?php

       

// set locale to France (on

       

Windows)

       

setlocale(LC_TIME, "fra_fra");

       

 

       

// format month/day names

       

// as per locale setting

       

// returns "septembre" and

       

"mardi"

       

echo strftime("Month: %B ");

       

echo strftime("Day: %A ");

       

?>


microtime()


此函数返回GMT时间1970年1月1日到现在所消逝的秒数与微秒数。

       

在基准特定的代码块,准确测量它的执行时间时应用此函数。


<?php

       

// get starting value

       

$start = microtime();

       

 

       

// run some code

       

for ($x=0; $x<1000; $x++) {

       

???$null = $x * $x;

       

}

       

 

       

// get ending value

       

$end = microtime();

       

 

       

// calculate time taken for

       

code

       

execution

       

echo "Elapsed time: " . ($end -

       

 

       

$start) ." sec";

       

?>


gmmktime

       

($hour,

       

$minute,

       

$second,

       

$month, $day,

       

$year)


此函数由一系列用GMT时间表示的日期与时间值生成一个UNIX时间标签。不用自变量时,它生成一个当前GMT即时时间的UNIX时间标签。

       

用此函数来获得GMT即时时间的UNIX时间标签。


<?php

       

// returns timestamp for

       

12:25:23

       

9-Jul-2006

       

echo gmmktime

       

(12,25,23,7,9,2006);

       

?>

                 

gmdate ($format, $ts)


此函数将UNIX时间标签格式化成可人为阅读的日期字符串。此日期字符串以GMT(非当地时间)表示。

       

用GMT表示时间标签时应用此函数。


<?php

       

// format current date into GMT

       

// returns "13-Sep-2005 08:32

       

AM"

       

echo gmdate("d-M-Y h:i A",

       

mktime());

       

?>


date_default_

       

timezone_set

       

($tz)and

       

date_default_

       

timezone_get()


此函数此后所有的日期/时间函数调用设定并恢复默认的时区。

       

:此函数仅在PHP 5.1+中有效。

       

此函数是一个方便的捷径,可为以后的时间操作设定时区。


<?php

       

// set timezone to UTC

       

date_default_timezone_set

       

('UTC');

       

?>

 

 

 

时间: 2024-08-03 23:47:25

php中两日期比较程序代码的相关文章

Python中删除文件的程序代码_python

Python是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定.Python 具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用.它具有简单.易学.免费.开源.可移植性.解释性.面向对象.可扩展性.可嵌入性以及丰富的库等特性,目前的应用范围也非常广泛,如系统编程.图像处理.数据库编程等方面. Python开发者可以使用文本编辑器(如Windows的记事本等)或者专业的IDE(集成开发环境)来编写程序代码.IDE使得开发者可

asp.net中禁止页面缓存程序代码

方法一:导航时用服务器端的Response.Redirect方法,或者用前端得window.location.replace方法. 方法二:禁用ASP.NET页面缓存. 在必要的时候我还是推荐方法二的.因为我们做开发的不能控制浏览器的设置.用户如果把IE设置为从不检查更新缓存的问题则不好避免,所以还是用方法二,让IE的临时文件夹不存在页面文件. 另外,是否禁用页面缓存要根据实际情况来说,起初我认为页面缓存只是缓存在服务器,后来看了一篇blog 发现缓存的意义还是很大的.在很多情况下可以大大减小服

asp.net中无损图片添加水印程序代码

水印是为了防止别盗用我们的图片. 两种方式实现水印效果 1)可以在用户上传时添加水印. a) 好处:与2种方法相比,用户每次读取此图片时,服务器直接发送给客户就行了. b) 缺点:破坏了原始图片. 2)通过全局的一般处理程序,当用户请求这张图片时,加水印. a) 好处:原始图片没有被破坏 b) 缺点:用户每次请求时都需要对请求的图片进行加水印处理,浪费的服务器的资源. 代码实现第二种方式: 代码如下:  代码如下 复制代码   using System; using System.Collect

javascript中怎么获取农历程序代码

  获取农历 农历月的天数是一个变数,有时是 29 天,有时是 30 天. 农历每月的第一天是月亮全黑的日子. 农历年由 24 个节气来确定,节气则由太阳的角度来确定.农历的第一个节气叫 雨水,定在太阳的角度为 330 度的日子.其余的 23 个节气分别定在太阳的角度 每变化 15 度的日子.下面的表格列出了 24 个节气的名称和定义: 命称    角度    公历日期      周期 立春     315     2月 4日 雨水     330     2月19日    29.8天 惊蛰  

WordPress中批量替换正文程序代码

在 WordPress 主题的 functions.php 中插入以下代码:  代码如下 复制代码 function content_str_replace($content = ''){ $content = str_replace('old', 'new', $content); return $content; } add_filter('the_content', 'content_str_replace', 10); 和之前一样,其中 old 是旧的字符串,new 是你要替换的文字.

php中数组的搜索程序代码

例  代码如下 复制代码 <?php $people = array("Peter", "Joe", "Glenn", "Cleveland"); if (in_array("Glenn",$people))   {   echo "Match found";   } else   {   echo "Match not found";   } ?> 输出

php中向数组中插入一元素程序代码

 代码如下 复制代码 <?php /** * 逆序二维数组插入一元素 * * @author WadeYu * @date 2012-05-30 */ $aSorted = array( array(1, 100), array(2, 90), array(3, 80), array(4, 70), array(5, 60), array(6, 50), array(7, 40), array(8, 40), array(9, 40), array(10, 20), ); $aInsert =

WinForm中实现透明Label程序代码

 代码如下 复制代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Windows.Forms; using System.Drawing.Drawing2D;   namespace Lyjt.Highwa

PHP正则删除字符串中所有中文的程序代码

采用php的正则删除中文  代码如下 复制代码 /*转换为UTF8 再处理*/ $a = mb_convert_encoding($a, 'UTF-8', 'GB2312'); $a = preg_replace("/[x{4e00}-x{9fff}]/u", "", $a);   /*再转回来* $a = mb_convert_encoding($a, 'GB2312', 'UTF-8'); 例子  代码如下 复制代码 $chstr="<a>