将日期成员存储在不同的变量中

时间:2017-01-14 13:21:35

标签: c++ c ubuntu time

目前,我正在运行以下代码

int main() {

    while(1)

        {
            time_t current = time(NULL);
            cout << ctime(&current)<< endl;
        }
}

我的输出如下:

Sun Jan 15 00:03:25 2017

Sun Jan 15 00:03:25 2017

由于小时为00,分钟为03,秒为25.我想将00存储在某个整数变量中,让我们在变量中说 int hrs ,03 int min 和变量 int sec 中的25。怎么做?

2 个答案:

答案 0 :(得分:0)

如果您想有时间查找__TIMESTAMP__变量。它应该是这样的:12 Sat 16 12:00:00

答案 1 :(得分:0)

您想要的功能是localtime

此函数获取time_t的地址并返回指向struct tm的指针,其中包含分为年,月,日,小时,分钟和秒的日期和时间。

来自man page

struct tm *localtime(const time_t *timep);
     

localtime()功能会将日历时间timep转换为   分解时间表示,相对于用户表示   指定的时区。该函数就像调用tzset(3)和   使用有关当前的信息设置外部变量tzname   时区,时区与Coordinated Universal的区别   时间(UTC)和本地标准时间(以秒为单位)和日光到a   如果夏令时规则适用于某些部分,则非零值   那一年。返回值指向静态分配的struct   可能会被后续调用任何日期和   时间功能。

struct tm的定义如下:

struct tm {
    int tm_sec;         /* seconds */
    int tm_min;         /* minutes */
    int tm_hour;        /* hours */
    int tm_mday;        /* day of the month */
    int tm_mon;         /* month */
    int tm_year;        /* year */
    int tm_wday;        /* day of the week */
    int tm_yday;        /* day in the year */
    int tm_isdst;       /* daylight saving time */
};
相关问题