
#include <stdioh>
#include <timeh>
void main()
{
time_t lt;
lt = time(NULL);
printf("%ld\n",lt);
}
函数原型:time_t time(time_t timer)
typedef long time_t;
time函数的原型也可以理解为 long time(long tloc),即返回一个long型整数。
用法是你先自己定义一个time_t变量,让后把变量的地址传给它。函数会返回自1970年1月1日0点走过的秒数,同时把这个返回值保存在你传进来的那个time_t指向的变量里面。如果你传进来NULL(也就是0)的话,就不保存。
程序主要通过当前系统日历的struct tm结构体获得,主要代码如下,
#include <stdioh>
#include <timeh>
//程序功能输出当前时间在24H下的小时数
int main(int argc, char argv[])
{
struct tm ptr;
time_t lt;
time(<);//当前系统时间
ptr=localtime(<);//获取本地日历时间指针
printf("hour=%d(24H )\n",ptr->tm_hour);//输出24H下的小时数
return 0;
}
结构体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()为负。/
long int tm_gmtoff; /指定了日期变更线东面时区中UTC东部时区正秒数或UTC西部时区的负秒数/
const char tm_zone; /当前时区的名字(与环境变量TZ有关)/
};
#include <timeh> 要添加这个头文件。
time_t rawtime;
struct tm target_time;
time ( &rawtime ); //获取当前时间,存rawtime里
target_time = localtime ( &rawtime ); //获取当地时间
利用struct tm,你可以按需取出年月日时分秒星期几等数值。
---------------------
你的问题:
time_t now;
long int dt=3600; // 时间长度,秒数
now = time (NULL); //获取当前时间
printf("%s ",ctime(&now)); //直接打印时间
now=now+dt;
printf("%s ",ctime(&now)); // 直接打印加dt后的时间
(当然,你也可以用 ctime(&now) 返回的字符串 通过 MFC 的方法显示)
以上就是关于在C语言中获取到当前时间,然后与1900年比较,获取两个差,在转换为秒数,这个要怎么做全部的内容,包括:在C语言中获取到当前时间,然后与1900年比较,获取两个差,在转换为秒数,这个要怎么做、C语言中如何获取当前系统时间的小时、在c语言中如何获取当前日期等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)