某一时间至1970年1月1日的秒数怎么算? c语言编写,谢谢

2025-01-18 18:19:59
推荐回答(2个)
回答1:

#include
#inlcude
int main()
{
 time_t t;
 time(&t);
 printf("%d",t);
}
time_t实际上是长整型,表示 当前未来一个时间点 距离 1970年1月1日0时0分0秒的秒数。 

你可以声明一个tm结构的变量,给这个结构各成员赋值,然后用
time_t mktime(struct tm *);将tm结构转换为time_t 类型,即秒数。

tm结构说明如下:
struct tm 
{
         int tm_sec;     /* 秒 – 取值区间为[0,59] */ 
        int tm_min;     /* 分 - 取值区间为[0,59] */
         int tm_hour;     /* 时 - 取值区间为[0,23] */
         int tm_mday;     /* 一个月中的日期 - 取值区间为[1,31] */
         int tm_mon;     /* 月份(从一月开始,0代表一月) - 取值区间为[0,11] */ 
        int tm_year;     /* 年份,其值等于实际年份减去1900 */ 
        int tm_wday;     /* 星期 – 取值区间为[0,6],其中0代表星期天,1代表星期一,以此类推 */
         int tm_yday;     /* 从每年的1月1日开始的天数 – 取值区间为[0,365],其中0代表1月1日,1代表1月2日,以此类推 */ 
        int tm_isdst;   /* 夏令时标识符,实行夏令时的时候,tm_isdst为正。不实行夏令时的进候,tm_isdst为0;不了解情况时,tm_isdst()为负。*/ 
};

回答2:

#include
#inlcude
int main()
{
time_t t;
time(&t);
printf("%d",t);
}
time_t实际上是长整型,表示 当前未来一个时间点 距离 1970年1月1日0时0分0秒的秒数。

你可以声明一个tm结构的变量,给这个结构各成员赋值,然后用
time_t mktime(struct tm *);将tm结构转换为time_t 类型,即秒数。

tm结构说明如下:
struct tm {
         int tm_sec;     /* 秒 – 取值区间为[0,59] */ 
        int tm_min;     /* 分 - 取值区间为[0,59] */
         int tm_hour;     /* 时 - 取值区间为[0,23] */
         int tm_mday;     /* 一个月中的日期 - 取值区间为[1,31] */
         int tm_mon;     /* 月份(从一月开始,0代表一月) - 取值区间为[0,11] */ 
        int tm_year;     /* 年份,其值等于实际年份减去1900 */ 
        int tm_wday;     /* 星期 – 取值区间为[0,6],其中0代表星期天,1代表星期一,以此类推 */
         int tm_yday;     /* 从每年的1月1日开始的天数 – 取值区间为[0,365],其中0代表1月1日,1代表1月2日,以此类推 */ 
        int tm_isdst;   /* 夏令时标识符,实行夏令时的时候,tm_isdst为正。不实行夏令时的进候,tm_isdst为0;不了解情况时,tm_isdst()为负。*/ 
        };