C/C++编程获取与显示系统时间

5星 · 超过95%的资源 需积分: 26 5 下载量 188 浏览量 更新于2024-09-13 收藏 431B TXT 举报
"这篇文章主要介绍了如何在C/C++中获取系统时间,并通过示例代码展示了如何计算一段程序的运行时间。" 在C/C++编程中,获取系统时间通常涉及到`time.h`头文件中的函数,如`time()`,`localtime()`和`strftime()`等。这些函数可以帮助我们得到当前时间、格式化时间或者进行时间相关的计算。 1. `time()`函数:这个函数用于获取当前系统时间,以秒为单位。它返回一个`time_t`类型的值,表示自1970年1月1日(UTC)以来的秒数。例如: ```c++ #include <time.h> time_t rawtime; struct tm * timeinfo; time(&rawtime); timeinfo = localtime(&rawtime); printf("Current local time: %s\n", asctime(timeinfo)); ``` 2. `localtime()`函数:这个函数将`time_t`类型的时间转换为本地时区的`struct tm`结构体。`struct tm`包含了年、月、日、小时、分钟、秒等时间元素。 3. `strftime()`函数:用于格式化时间,可以按照指定的格式输出日期和时间。例如,我们可以设置格式为"YYYY-MM-DD HH:MM:SS": ```c++ char buffer[80]; strftime(buffer, 80, "%Y-%m-%d %H:%M:%S", timeinfo); printf("Formatted time: %s\n", buffer); ``` 至于代码示例中,它并没有直接获取系统时间,而是计算了一个空循环的执行时间。`clock()`函数用于获取程序的CPU时间,返回的是时钟周期数。`CLOCKS_PER_SEC`常量表示每秒的时钟周期数。这段代码的主要目的是测量并输出循环执行1,000,000次所花费的时间,以浮点秒为单位。最后调用`system("pause")`暂停程序,以便用户查看输出结果。 在实际开发中,如果你需要获取和处理系统时间,你可能还需要了解`gmtime()`(格林尼治标准时间)、`difftime()`(计算两个时间差)等函数,以及如何处理时区转换和夏令时问题。同时,C++11引入了`chrono`库,提供了更现代的时间处理方式,例如`std::chrono::system_clock`、`std::chrono::high_resolution_clock`等,它们提供了更高的精度和更灵活的使用方式。