zoukankan      html  css  js  c++  java
  • 用C获得当前系统时间(转)

    #include <stdio.h>
    #include <time.h>

    void main ()
    {
    time_t rawtime;
    struct tm * timeinfo;

    time ( &rawtime );
    timeinfo = localtime ( &rawtime );
    printf ( "07The current date/time is: %s", asctime (timeinfo) );

    exit(0);
    }

    =================
    #include <time.h> -- 必须的时间函数头文件
    time_t -- 时间类型(time.h 定义)
    struct tm -- 时间结构,time.h 定义如下:
    int tm_sec;
    int tm_min;
    int tm_hour;
    int tm_mday;
    int tm_mon;
    int tm_year;
    int tm_wday;
    int tm_yday;
    int tm_isdst;

    time ( &rawtime ); -- 获取时间,以秒计,从1970年1月一日起算,存于rawtime
    localtime ( &rawtime ); -- 转为当地时间,tm 时间结构
    asctime ()-- 转为标准ASCII时间格式:
    星期 月 日 时:分:秒 年
    =========================================
    你要的格式可这样输出:
    printf ( "%4d-%02d-%02d %02d:%02d:%02d ",1900+timeinfo->tm_year, 1+timeinfo->tm_mon,
    timeinfo->tm_mday,timeinfo->tm_hour,timeinfo->tm_min,timeinfo->tm_sec);

    就是直接打印tm,tm_year 从1900年计算,所以要加1900,
    月tm_mon,从0计算,所以要加1

    Example

    /* TIMES.C illustrates various time and date functions including:
    * time _ftime ctime asctime
    * localtime gmtime mktime _tzset
    * _strtime _strdate strftime
    *
    * Also the global variable:
    * _tzname
    */

    #include <time.h>
    #include <stdio.h>
    #include <sys/types.h>
    #include <sys/timeb.h>
    #include <string.h>

    void main()
    {
    char tmpbuf[128], ampm[] = "AM";
    time_t ltime;
    struct _timeb tstruct;
    struct tm *today, *gmt, xmas = { 0, 0, 12, 25, 11, 93 };

    /* Set time zone from TZ environment variable. If TZ is not set,
    * the operating system is queried to obtain the default value
    * for the variable.
    */
    _tzset();

    /* Display operating system-style date and time. */
    _strtime( tmpbuf );
    printf( "OS time: %s ", tmpbuf );
    _strdate( tmpbuf );
    printf( "OS date: %s ", tmpbuf );

    /* Get UNIX-style time and display as number and string. */
    time( <ime );
    printf( "Time in seconds since UTC 1/1/70: %ld ", ltime );
    printf( "UNIX time and date: %s", ctime( <ime ) );

    /* Display UTC. */
    gmt = gmtime( <ime );
    printf( "Coordinated universal time: %s", asctime( gmt ) );

    /* Convert to time structure and adjust for PM if necessary. */
    today = localtime( <ime );
    if( today->tm_hour > 12 )
    {
    strcpy( ampm, "PM" );
    today->tm_hour -= 12;
    }
    if( today->tm_hour == 0 ) /* Adjust if midnight hour. */
    today->tm_hour = 12;

    /* Note how pointer addition is used to skip the first 11
    * characters and printf is used to trim off terminating
    * characters.
    */
    printf( "12-hour time: %.8s %s ",
    asctime( today ) + 11, ampm );

    /* Print additional time information. */
    _ftime( &tstruct );
    printf( "Plus milliseconds: %u ", tstruct.millitm );
    printf( "Zone difference in seconds from UTC: %u ",
    tstruct.timezone );
    printf( "Time zone name: %s ", _tzname[0] );
    printf( "Daylight savings: %s ",
    tstruct.dstflag ? "YES" : "NO" );

    /* Make time for noon on Christmas, 1993. */
    if( mktime( &xmas ) != (time_t)-1 )
    printf( "Christmas %s ", asctime( &xmas ) );

    /* Use time structure to build a customized time string. */
    today = localtime( <ime );

    /* Use strftime to build a customized time string. */
    strftime( tmpbuf, 128,
    "Today is %A, day %d of %B in the year %Y. ", today );
    printf( tmpbuf );
    }



    Output

    OS time: 21:51:03
    OS date: 05/03/94
    Time in seconds since UTC 1/1/70: 768027063
    UNIX time and date: Tue May 03 21:51:03 1994
    Coordinated universal time: Wed May 04 04:51:03 1994
    12-hour time: 09:51:03 PM
    Plus milliseconds: 279
    Zone difference in seconds from UTC: 480
    Time zone name:
    Daylight savings: YES
    Christmas Sat Dec 25 12:00:00 1993

    Today is Tuesday, day 03 of May in the year 1994.

  • 相关阅读:
    asp.net后台导出excel的方法:使用response导出excel
    asp.net后台导出excel的方法一:使用response导出excel
    infragistics--web网站升级注意点
    infragistics--网站部署时webtab的tab前出现textbox
    Jewels and Stones
    To Lower Case
    Unique Email Addresses
    unique-morse-code-words
    很久没来博客园了。。。。
    Centos7 基础知识---------root文件夹下没有.ssh文件
  • 原文地址:https://www.cnblogs.com/YangBinChina/p/4218255.html
Copyright © 2011-2022 走看看