• 利用localtime_s函数格式化输出当地日期与时间


    Visual C++ 6.0开发环境中显示当地日期与时间主要通过localtime()函数来实现,该函数的原型在time.h头文件中,其语法格式如下:

    struct tm *localtime(xonst time_t *timer)

    该函数的作用是把timer所指的时间(如函数time返回的时间)转换为当地标准时间,并以tm结构形式返回。其中,参数timer为主要获取当前时间的传递参数,格式为time_t指针类型。

    而在Visual Studio 2010极其以后的版本,新增了安全函数,改成localtime_s(),语法格式也发生了变化:

    errno_t localtime_s(
       struct tm* _tm,
       const time_t *time 
    );

    其中:

    _tm
    指向要填充的时间结构的指针。
    time
    指针,指向存储的时间。

    如果成功,返回值则为零。 如果失败,返回值将是错误代码。 错误代码是在 Errno.h 中定义的。

    结构类型的字段 tm 存储下面的值,其中每个为 int。

    tm_sec
    分钟后的几秒 (0-59)。
    tm_min
    小时后的分钟 (0-59)。
    tm_hour
    午夜后经过的小时 (0-23)。
    tm_mday
    月 (1-31) 天。
    tm_mon
    月 (0 – 11;年 1 月 = 0)。
    tm_year
    年份 (当前年份减去 1900年)。
    tm_wday
    星期几 (0 – 6;星期日 = 0)。
    tm_yday
    每年的一天 (0-365;1 月 1 日 = 0)。
    tm_isdst
    如果夏令时有效,则为,正值夏时制不起作用; 如果为 0如果夏时制的状态是未知的负值。 如果 TZ 设置环境变量,C 运行库会假定规则适用于美国境内用于实现夏令时 (DST) 计算。

    下面以一个实例来输出当地日期与时间:

    #include <stdio.h>
    #include <string.h>
    #include <time.h>
    
    int main(void)
    {
            struct tm t;   //tm结构指针
    	time_t now;  //声明time_t类型变量
    	time(&now);      //获取系统日期和时间
    	localtime_s(&t, &now);   //获取当地日期和时间
            
           //格式化输出本地时间
           printf("年:%d
    ", t.tm_year + 1900);
    	printf("月:%d
    ", t.tm_mon + 1);
    	printf("日:%d
    ", t.tm_mday);
    	printf("周:%d
    ", t.tm_wday);
    	printf("一年中:%d
    ", t.tm_yday);
    	printf("时:%d
    ", t.tm_hour);
    	printf("分:%d
    ", t.tm_min);
    	printf("秒:%d
    ", t.tm_sec);
    	printf("夏令时:%d
    ", t.tm_isdst);
    	system("pause");
    	//getchar();
    	return 0;
    
    }
  • 相关阅读:
    广度优先搜索(一)
    快速幂
    office 2013
    最著名的十大公式
    二分查找的上下界
    双关键字快速排序
    字符串操作
    分治算法练习(二)
    P3119 [USACO15JAN]草鉴定[SCC缩点+SPFA]
    P3225 [HNOI2012]矿场搭建[割点]
  • 原文地址:https://www.cnblogs.com/wei1/p/9582134.html
Copyright © 2020-2023  润新知