C++时间标准库时间time和系统时间的使用

C++时间标准库时间time和系统时间的使用

1. C++标准库中的时间需要引用time.h,可以取的本地时间或者格林威治时间,只能精确到秒

#include <iostream>

/*包含time头文件*/

#include <time.h>

using namespace std;

int main()

{

    //time_t是long类型,精确到秒,是当前时间和1970年1月1日零点时间的差

    const time_t t = time(NULL);

    cout<<"current time is "<<t<<endl;

    /*本地时间:日期,时间 年月日,星期,时分秒*/

    struct tm* current_time = localtime(&t);

    printf("current year is %d;current month is %d;current date of month is %d\r\n",

        1900 + current_time->tm_year,

        1 + current_time->tm_mon/*此month的范围为0-11*/,

        current_time->tm_mday);

    printf("current day of year is %d;current day in week is %d\r\n",

        current_time->tm_yday,/*当前日期是今年的第多少天[0,365] */

        current_time->tm_wday/*days since Sunday - [0,6] */);

    printf("time part %d:%d:%d \r\n",

        current_time->tm_hour,

        current_time->tm_min,

        current_time->tm_sec);

    printf("\t本地时间:%d-%d-%d %d:%d:%d\r\n",

        current_time->tm_year + 1900,

        current_time->tm_mon + 1,

        current_time->tm_mday,

        current_time->tm_hour,

        current_time->tm_min,

        current_time->tm_sec);

    /*格林威治时间*/

    struct tm* current_gmtime = gmtime(&t);

    printf("格林威治时间:%d-%d-%d %d:%d:%d\r\n",

        current_gmtime->tm_year + 1900,

        current_gmtime->tm_mon + 1,

        current_gmtime->tm_mday,

        current_gmtime->tm_hour,

        current_gmtime->tm_min,

        current_gmtime->tm_sec);

    system("pause");

    return 0;

}

2. 系统时间 SYSTEMTIME 使用时要引用windows.h,可以精确到毫秒级别

#include <iostream>

#include <Windows.h>

int main(){

    //声明变量

    SYSTEMTIME sys_time;

    //将变量值设置为本地时间

    GetLocalTime( &sys_time );

    //输出时间

    printf( "%4d/%02d/%02d %02d:%02d:%02d.%03d 星期%1d\n",sys_time.wYear,

        sys_time.wMonth,

        sys_time.wDay,

        sys_time.wHour,

        sys_time.wMinute,

        sys_time.wSecond,

        sys_time.wMilliseconds,

        sys_time.wDayOfWeek);

    system("time");

    system("pause");

    return 0;

}

时间: 2024-09-29 15:24:59

C++时间标准库时间time和系统时间的使用的相关文章

C++时间标准库时间time

转自:http://www.cnblogs.com/yukaizhao/archive/2011/04/29/cpp_time_system_time.html (玉开) C++标准库中的时间需要引用time.h,可以取的本地时间或者格林威治时间,只能精确到秒 #include <iostream> /*包含time头文件*/ #include <time.h> using namespace std; int main() { //time_t是long类型,精确到秒,是当前时间

C语言获取系统时间的几种方式

C语言获取系统时间的几种方式 2009-07-22 11:18:50|  分类: 编程学习 |字号 订阅 C语言中如何获取时间?精度如何? 1 使用time_t time( time_t * timer ) 精确到秒2 使用clock_t clock() 得到的是CPU时间 精确到1/CLOCKS_PER_SEC秒3 计算时间差使用double difftime( time_t timer1, time_t timer0 )4 使用DWORD GetTickCount() 精确到毫秒5 如果使用

[转]C语言获取系统时间

C语言中如何获取时间?精度如何? 1 使用time_t time( time_t * timer ) 精确到秒2 使用clock_t clock() 得到的是CPU时间 精确到1/CLOCKS_PER_SEC秒3 计算时间差使用double difftime( time_t timer1, time_t timer0 )4 使用DWORD GetTickCount() 精确到毫秒5 如果使用MFC的CTime类,可以用CTime::GetCurrentTime() 精确到秒6 要获取高精度时间,

【转】Windows与Linux(Ubuntu)双系统时间不一致的解决方法

当在嵌入式Linux里面备份文件时候,在备份的时候,PC(win7)和开发板的时间都是9:30,但是在开发板发现文件创建时间是9:30,然后u盘插在PC(win7)上,发现文件创建时间是1:30,为什么相差8个小时? 世界协调时间(Universal Time Coordinated,UTC),GPS系统中有两种时间区分,一为UTC,另一为LT(地方时).两者的区别为时区不同,UTC就是0时区的时间,地方时为本地时间,如北京为早上八点(东八区),UTC时间就为零点,时间比北京时晚八小时,以此计算

录像过程中系统时间改变了,怎么避免带来的悲剧

在android系统上,我们知道改变系统时间的方法有两种,一种就是通过再设置应用里面设置日期时间,第二种就是通过网络后台同步时间,在手机平板上这两种是比較多的,当然作为车载设备.一般还会添加用GPS时间来同步系统时间. 系统时间改变有这么几种方式.可是在录像过程中系统时间改变了,会有什么危害呢? 通过笔者的实验.假设開始录像是2014年5月20日10点整開始,过了一分钟.添加通过网络已经同步改动了系统时间到2014年7月1日,那么即使这个录像文件实际上仅仅录了5分钟.我们回放这个文件的时候显示的

linux下系统时间和时钟时间

linux中有关系统时间.时钟时间的命令: 1显示系统时间的命令 ># date 2显示时钟时间的命令 ># clock或hwclock 3系统时间与互联网同步的命令 ># ntpdate [时间服务器网址]                 例:># ntpdate time.windows.com 4系统时间与时钟时间同步的命令 ># hwclock --systohc

linux系统时间修改及同步

时间修改date 月日时分年.秒date -s可以直接设置系统时间 比如将系统时间设定成1996年6月10日的命令如下.#date -s 06/10/96将系统时间设定成下午1点12分0秒的命令如下.#date -s 13:12:00时间同步1.首先需了解linux内一任务计划工具crontab crontab可以定时去执行你要做的动作 直接用crontab命令编辑crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数crontab -l //列出某

win10+ubuntu双系统时间问题解决办法

几次安装双系统,发现一个比较有意思的问题:win10的时间总是不对,即使联网更新时间为正确的时间,重启后又会出现同样的问题. UTC即Universal Time Coordinated,协调世界时GMT即Greenwich Mean Time,格林尼治平时 Windows 与 Mac/Linux 缺省看待系统硬件时间的方式是不一样的:Windows把系统硬件时间当作本地时间(local time),即操作系统中显示的时间跟BIOS中显示的时间是一样的.Linux/Unix/Mac把硬件时间当作

Linux系统时间修正指南

方法一:让硬件时钟时间同步系统时钟时间yum install ntpdate -y echo '*/5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1' >>/var/spool/cron/root //执行任务,每5分钟向时间服务器较对时间一次. date 0607020517.30 //<月份><日期><24小时制小时><分钟><年如:17代表2017&