Chinaunix首页 | 论坛 | 博客
  • 博客访问: 155448
  • 博文数量: 39
  • 博客积分: 2713
  • 博客等级: 少校
  • 技术积分: 420
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-25 00:05
文章分类

全部博文(39)

文章存档

2012年(1)

2011年(2)

2010年(36)

分类: C/C++

2011-03-24 20:42:30

localtime

(PHP 4 )

localtime -- 取得本地时间

说明

array localtime ( [int timestamp [, bool is_associative]])

localtime() 函数返回一个数组,其结构和 C 函数调用返回的完全一样。localtime() 的第一个参数是时间戳,如果没有给出则使用从 time() 返回的当前时间。第二个参数是 is_associative,如果设为 0 或未提供则返回的是普通的数字索引数组。如果该参数设为 1 则 localtime() 函数返回包含有所有从 C 的 localtime 函数调用所返回的不同单元的结合数组。结合数组中不同的键名为:

  • "tm_sec" - 秒数

  • "tm_min" - 分钟数

  • "tm_hour" - 小时

  • "tm_mday" - 月份中的第几日

  • "tm_mon" - 年份中的第几个月,从 0 开始表示一月

  • "tm_year" - 年份,从 1900 开始

  • "tm_wday" - 星期中的第几天

  • "tm_yday" - 一年中的第几天

  • "tm_isdst" - 夏令时当前是否生效

  • localtime和gmtime这两个函数采用了time.h中的一个tm结构体:

  • struct tm
    {
      int tm_sec;           /* Seconds. [0-60] (1 leap second) */
      int tm_min;           /* Minutes. [0-59] */
      int tm_hour;          /* Hours.   [0-23] */
      int tm_mday;          /* Day.     [1-31] */
      int tm_mon;           /* Month.   [0-11] */
      int tm_year;          /* Year - 1900.  */
      int tm_wday;          /* Day of week. [0-6] */
      int tm_yday;          /* Days in year.[0-365] */
      int tm_isdst;         /* DST.     [-1/0/1]*/

    #ifdef  __USE_BSD
      long int tm_gmtoff;       /* Seconds east of UTC.  */
      __const char *tm_zone;    /* Timezone abbreviation.  */
    #else
      long int __tm_gmtoff;     /* Seconds east of UTC.  */
      __const char *__tm_zone;  /* Timezone abbreviation.  */
    #endif
    };

    这两个函数的原型为:

    struct tm *localtime(const time_t *timep);

    struct tm *gmtime(const time_t *timep);

     

    具体实现为:

    localtime.c

    ---------------------------------------------------------

    #include
    #include
    void cur_time(void);

    int main(int argc,char **argv)
    {  
    cur_time();

    return 0;
    }

    void cur_time(void)
    {
        char *wday[]={"星期天","星期一","星期二","星期三","星期四","星期五","星期六"};
        time_t timep;
        struct tm *p;
        time(&timep);
        p=localtime(&timep);  /* 获取当前时间 */
        printf("%d年%02d月%02d日",(1900+p->tm_year),(1+p->tm_mon),p->tm_mday);
        printf("%s %02d:%02d:%02d\n",wday[p->tm_wday],p->tm_hour,p->tm_min,p->tm_sec);
    }

    ---------------------------------------------------------

    gcc localtime.c 后运行a.out结果为:

    2007年12月26日星期三 11:07:15

     

    gmtime.c

    ---------------------------------------------------------

    #include
    #include
    void cur_time(void);

    int main(int argc,char **argv)
    {
      cur_time();
      return 0;
    }

    void cur_time(void)
    {
        char *wday[]={"星期天","星期一","星期二","星期三","星期四","星期五","星期六"};
        time_t timep;
        struct tm *p;
        time(&timep);
        p=gmtime(&timep);  /* 获取当前时间 */
        printf("%d年%02d月%02d日",(1900+p->tm_year),(1+p->tm_mon),p->tm_mday);
        printf("%s %02d:%02d:%02d\n",wday[p->tm_wday],(p->tm_hour+8),p->tm_min,p->tm_sec);
    }
    -----------------------------------------------------------

    gcc gmtime.c 后运行a.out结果为:

  • 2007年12月26日星期三 11:08:34
阅读(7943) | 评论(0) | 转发(0) |
0

上一篇:stdlib.h头文件

下一篇:随意书店

给主人留下些什么吧!~~