C语言 请提供一个两个时间的比较函数

C语言 请提供一个两个时间的比较函数,第1张

可以使用CLOCK()函数

clock()是C/C++中的计时函数,而与其相隐山关的数据类型是clock_t。在MSDN中,查得对clock函数定义如下:

clock_t clock(void)

这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wal-clock);若挂钟时间不可取,则返回-1。其中clock_t是用来保存时间的数据类型,在time.h文件中,可以找到对它的圆携悔定义:

#ifndef _CLOCK_T_DEFINED

typedef long clock_t

#define _CLOCK_T_DEFINED

#endif

很明显,clock_t是一个长整形数。在time.h文件中,还定义了一个常量CLOCKS_PER_SEC,它用来表示一秒钟会有多少个时钟计时单元,其定义如下:

#define CLOCKS_PER_SEC ((clock_t)1000)

可以看到每过千分之橘正一秒(1毫秒),调用clock()函数返回的值就加1。下面举个例子,可以使用公式clock()/CLOCKS_PER_SEC来计算一个进程自身的运行时间:

void elapsed_time()

{

printf("Elapsed time:%u secs.\n",clock()/CLOCKS_PER_SEC)

}

相关代码如下:

下面是比较两个绝对时间的大小:

1.<?php

2. $zero1=date(“y-m-d h:i:s”)

3. $zero2=”2010-11-29 21:07:00′

4. echo “zero1的时间为:”.$zero1.”<br>”

5. echo “zero2的时间为:”.$zero2.”<br>”

6. if(strtotime($zero1)<strtotime($zero2)){

7.  echo “zero1早于zero2′

8. }else{

9.  echo “zero2早于zero1′

10. }

11. ?>

下面是倒计时小程序 实例代码:

<?php

$zero1=strtotime (date("y-m-d h:i:s"))//当前时间  ,注意H 是24小时 h是12小时

$zero2=strtotime ("2014-1-21 00:00:00") //过年时间,不能写2014-1-21 24:00:00  这样不滑兄迅对

$guonian=ceil(($zero2-$zero1)/86400)//60s*60min*24h

echo "离过年还有<strong>$guonian</strong>天!"

?>

<?php

//PHP计算两个时间差的方法

$startdate="2010-12-11 11:40:00"信此

$enddate="2012-12-12 11:45:09"

$date=floor((strtotime($enddate)-strtotime($startdate))/86400)

$hour=floor((strtotime($enddate)-strtotime($startdate))%86400/3600)

$minute=floor((strtotime($enddate)-strtotime($startdate))%86400/60)

$second=floor((strtotime($enddate)-strtotime($startdate))%86400%60)

echo $date."天<br>"

echo $hour."小时<br>"

echo $minute."分钟<br>"

echo $second."秒<br>"

?>

<?php

/**

* 时间差计算

*

* @param Timestamp $time

* @return String Time Elapsed

* @author Shelley Shyan

* @copyright http://phparch.cn (Professional PHP Architecture)

*/

function time2Units ($time)

{

$year   = floor($time / 60 / 60 / 24 / 365)

$time  -= $year * 60 * 60 * 24 * 365

$month  = floor($time / 60 / 60 / 24 / 30)

$time  -= $month * 60 * 60 * 24 * 30

$week   = floor($time / 60 / 60 / 24 / 7)

$time  -= $week * 60 * 60 * 24 * 7

$day    = floor($time / 60 / 60 / 24)

$time  -= $day * 60 * 60 * 24

$hour   = floor($time / 60 / 60)

$time  -= $hour * 60 * 60

$minute = floor($time / 60)

$time  -= $minute * 60

$second = $time

$elapse = ''

$unitArr = array('年'  =>'year', '个月'=>'month',  '周'=>'week', '天'尘坦=>'day',

'小时'=>'hour', '分钟'=>'minute', '秒'=>'second'

)

foreach ( $unitArr as $cn =>$u )

{

if ( $$u >0 )

{

$elapse = $$u . $cn

break

}

}

return $elapse

}

$past = 2052345678// Some timestamp in the past

$now  = time()    // Current timestamp

$diff = $now - $past

echo '发表于' . time2Units($diff)

补充说明:

1、PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种 HTML 内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。

2、PHP 独特的语法混合了C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI 或者 Perl 更快速的执行动态网页。

3、PHP最初是由勒多夫在1995年开始开发的;现在PHP的标准由the PHP Group维护。PHP以PHP License作为许可协议,不过因为这个协议限制了PHP名称的使用,所以和开放源代码许可协议GPL不兼容。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12294681.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存