mktime函数

来源:互联网 发布:java判断上午下午 编辑:程序博客网 时间:2024/04/28 04:33

功能:

  将时间结构数据转换成经过的秒数

相关函数:

  time,asctime,gmtime,localtime

表头文件:

  #include <time.h>

定义函数

  time_t mktime(strcut tm * timeptr);

函数说明

  mktime()用来将参数timeptr所指的tm结构数据转换成从公元1970年1月1日0时0分0 秒算起至今的UTC时间所经过的秒数。

返回值

  返回经过的秒数。

范例

  /* 用time()取得时间(秒数),利用localtime()
  转换成struct tm 再利用mktime()将struct tm转换成原来的秒数*/
  #include <stdio.h>
  #include <time.h>
  int main(void)
  {
  time_t timep;
  struct tm *p;
  time(&timep);
  printf("time() : %d \n",timep);
  p=localtime(&timep);
  timep = mktime(p);
  printf("time()->localtime()->mktime():%d\n",timep);
  return 0;
  }
  在我的电脑上,此时运行所得的输出为:
  time() : 1270271767
  time()->localtime()->mktime():1270271767
  当然,你来运行这个例子的时候,结果肯定不一样了,呵呵,除非你电脑时间没调好,呵呵。
  php mktime定义和用法:
  mktime() 函数返回一个日期的 Unix 时间戳。
  mktime(hour,minute,second,month,day,year,is_dst)
  参数描述hour可选。规定小时。minute可选。规定分钟。second可选。规定秒。month可选。规定用数字表示的月。day可选。规定天。year可选。规定年。在某些系统上,合法值介于 1901 - 2038 之间。不过在 PHP 5 中已经不存在这个限制了。is_dst可选。如果时间在日光节约时间(DST)期间,则设置为1,否则设置为0,若未知,则设置为-1。 
自 5.1.0 起,is_dst 参数被废弃。因此应该使用新的时区处理特性。
  php范例:
  用Php判断是否为闰年:
  <?php
  $year = 2010;
  $time = mktime(20,20,20,2,1,$year);//取得一个日期的 Unix 时间戳;
  if (date("t",$time)==29){ //格式化时间,并且判断2月是否是29天;
  echo $year."是闰年";//是29天就输出时闰年;
  }else{
  echo $year."不是闰年";
  }
  ?>
  用Php求出身年龄:
  <?php
  $year=mt_rand(1980,2010);//随机给一个出生年;
  $birth = mktime(1,10,20,1,15,$year);//取得一个日期的 Unix 时间戳;
  $now = mktime();
  $age = intval(($now - $birth)/3600/24/365);//取得年龄;
  if ($age>=20){
  echo $age."岁";
  echo "<br>"."<font color=red>哎,老了,不中用了,^_^</font>";
  } else {
  echo $age."岁";
  echo "<br>"."<font color=red>小P孩!O(∩_∩)O~</font>";
  }
原创粉丝点击