当前位置:首页 » 编程语言 » c语言获取时间戳

c语言获取时间戳

发布时间: 2023-05-04 18:57:11

c语言中time(0)的意思是

time是C语言获取当前系统时间的函数,以秒作单位,代表当前时间自Unix标准时间戳(1970年1月1日0点0分0秒,GMT)经过了多少秒。

形式为time_t time(time_t * t);

该函数提供两种返回方式,返回值,和指针参数。

可以根据需要选择。当参数t为空指针(NULL)时,只返回值。

而NULL的定义是(void *) 0, 所以time(0)也就是time(NULL)的另一种写法,表示只通过返回值获取时间值。

(1)c语言获取时间戳扩展阅读:

time函数

函数名称: localtime

函数原型: struct tm *localtime(const time_t *timer)

函数功能: 返回一个以tm结构表达的机器时间信息

函数返回: 以tm结构表达的时间,结构tm定义如下:

#ifndef _TM_DEFINED

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()为负。*/

};

#define _TM_DEFINED

#endif

参数说明: timer-使用time()函数获得的机器时间

㈡ 如何用C语言获取当前系统时间

需要利用C语言的时间函数time和localtime,具体说明如下:

一、函数接口介绍:

1、time函数。

形式为time_t time (time_t *__timer);

其中time_t为time.h定义的结构体,一般为长整型。

这个函数会获取当前时间,并返回。 如果参数__timer非空,会存储相同值到__timer指向的内存中。

time函数返回的为unix时间戳,即从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。

由于是秒作为单位的,所以这并不是习惯上的时间,要转为习惯上的年月日时间形式就需要另外一个函数了。

2、localtime函数。

形式为struct tm *localtime (const time_t *__timer);

其中tm为一个结构体,包含了年月日时分秒等信息。

这种结构是适合用来输出的。

二、参考代码:

#include<stdio.h>
#include<time.h>
intmain()
{
time_tt;
structtm*lt;
time(&t);//获取Unix时间戳。
lt=localtime(&t);//转为时间结构。
printf("%d/%d/%d%d:%d:%d ",lt->tm_year+1900,lt->tm_mon,lt->tm_mday,lt->tm_hour,lt->tm_min,lt->tm_sec);//输出结果
return0;
}

注意事项:

struct tm中的tm_year 值为实际年减去1900, 所以输出的时候要是lt->tm_year+1900。

㈢ C语言怎么获取时间戳

DWORD tm = ::GetTickCount();

……
#ifndef _TIME32_T_DEFINED
typedef _W64 long __time32_t; /* 32-bit time value */
#define _TIME32_T_DEFINED
#endif /* _TIME32_T_DEFINED */

#ifndef _TIME64_T_DEFINED
#if _INTEGRAL_MAX_BITS >= 64
typedef __int64 __time64_t; /* 64-bit time value */
#endif /* _INTEGRAL_MAX_BITS >= 64 */
#define _TIME64_T_DEFINED
#endif /* _TIME64_T_DEFINED */

#ifndef _TIME_T_DEFINED
#ifdef _USE_32BIT_TIME_T
typedef __time32_t time_t; /* time value */
#else /* _USE_32BIT_TIME_T */
typedef __time64_t time_t; /* time value */
#endif /* _USE_32BIT_TIME_T */
#define _TIME_T_DEFINED /* avoid multiple def's of time_t */
#endif /* _TIME_T_DEFINED */
……

㈣ C语言怎么获取今天0点的时间戳

time_t now;
time(&now);
tm *temptm;
temptm = localtime(&now);
temptm->tm_hour = 0;
temptm->tm_min =0;
temptm->tm_sec = 0;
printf("%d%d%d %d:%d:%d",
temptm->tm_year +1900,
temptm->tm_mon +1,
temptm->tm_mday,
temptm->tm_hour,
temptm->tm_min,
temptm->tm_sec
);

㈤ C语言如何获取本地时间,然后取时、分、秒的值

#include <stdio.h>

#include <time.h>

int main()

{time_t timep;

struct tm *tp;

time(&timep);

int p;

tp = localtime(&timep); //取得系统时间

printf("Today is %d-%d-%d ", (1900 + tp->tm_year), (1 + tp->tm_mon), tp->tm_mday);

printf("Now is %d:%02d:%02d ", tp->tm_hour, tp->tm_min, tp->tm_sec);

p=tp->tm_sec;

printf("p=%d ",p);

return 0;

}

㈥ c语言写的socket程序客户端,给服务端发送消息。加上时间戳,就是在消息前面加上时间。

time_tt;
structtm*ti;
charbuffer[1048],input[1024];

time(&t);//获取时间戳
ti=localtime(&t);//转成详细时间信息
//格式化时间字符串
sprintf(buffer,"%04d/%02d/%02d%02d:%02d:%02d",
ti->tm_year+1900,
ti->tm_mon+1,
ti->tm_mday,
ti->tm_hour,
ti->tm_min,
ti->tm_sec);

fgets(input,1024,stdin);
strcat(buffer,input);//连接两个字符串
printf("%s",buffer);
send(sockfd,buffer,strlen(buffer),0);

//望采纳

㈦ 用C语言获取本地的时区

getlocaltime里面是没有时区信息的。

你可以这样:

time_ttime_utc=0;
structtm*p_tm_time;
inttime_zone=0;

p_tm_time=localtime(&time_utc);//转成当地时间
time_zone=(p_tm_time->tm_hour>12)?(p_tm_time->tm_hour-=24):p_tm_time->tm_hour;

把0时间转为当地时间,得到的是带时区的结果。

㈧ C语言 如何把64位时间戳转换成能看得懂的时间 (只有stdio。h 头文件 C语言自己实现方法。)

#include<stdio.h>
typedeflonglonginttime64;
/*
将64位时间戳转化为时间数组
*/
voidtransformToDate(time64timeStamp,time64**dateArry)
{
time64low,high,mid,t;
time64year,month,day,hour,minute,second,milliSecond;
time64daySum[]={0,31,59,90,120,151,181,212,243,273,304,334,365};
time64milOfDay=24*3600*1000;
time64milOfHour=3600*1000;

/*防止超过9999-12-3123:59:59:999*/
if(timeStamp>315537897599999){
timeStamp=315537897599999;
}

low=1;
high=9999;

while(low<=high)
{
mid=(low+high)>>1;
t=((mid-1)*365+(mid-1)/4-(mid-1)/100+(mid-1)/400)*milOfDay;

if(t==timeStamp)
{
low=mid+1;
break;
}
elseif(t<timeStamp)
low=mid+1;
else
high=mid-1;
}
year=low-1;
timeStamp-=((year-1)*365+(year-1)/4-(year-1)/100+(year-1)/400)*milOfDay;

intisLeapYear=((year&3)==0&&year%100!=0)||year%400==0;

for(month=1;(daySum[month]+((isLeapYear&&month>1)?1:0))*milOfDay<=timeStamp&&month<13;month++){
if(isLeapYear&&month>1)
++daySum[month];
}
timeStamp-=daySum[month-1]*milOfDay;

day=timeStamp/milOfDay;
timeStamp-=day*milOfDay;

hour=timeStamp/milOfHour;
timeStamp-=hour*milOfHour;

minute=timeStamp/60000;
timeStamp-=minute*60000;

second=timeStamp/1000;
milliSecond=timeStamp%1000;

*dateArry[0]=year;
*dateArry[1]=month;
*dateArry[2]=day;
*dateArry[3]=hour;
*dateArry[4]=minute;
*dateArry[5]=second;
*dateArry[6]=milliSecond;
}
//将64位时间戳转化为时间字符串
voidtransformToDateString(time64timeStamp,char*dateString)
{
time64year,month,day,hour,minute,second,milliSecond;
time64*intp[]={&year,&month,&day,&hour,&minute,&second,&milliSecond};

transformToDate(timeStamp,intp);

sprintf(dateString,"%.4I64d-%.2I64d-%.2I64d%.2I64d:%.2I64d:%.2I64d:%.3I64d",
year,month,day+1,hour,minute,second,milliSecond);
}
intmain()
{
time64time;
chardate[256];
scanf("%lld",&time);
transformToDateString(time,date);
printf("date=%s ",date);
return0;
}

示例运行结果:

63510000999140

date= 2013-07-21 10:56:39:140

㈨ 如何使用C语言程序获取指定日期的UNIX时间戳

C/C++ code #include #include int main(void) { time_t tick; struct tm tm; char s[100]; tick = time(NULL); tm = *localtime(&tick); strftime(s, sizeof(s), "%Y-%m-%d %H:%M:%S", &tm); printf("%d: %s\n", (int)tick, s); return 0; }

热点内容
网络访问层 发布:2024-11-01 16:18:38 浏览:349
国产系列ftp 发布:2024-11-01 15:49:53 浏览:702
招编程师傅招聘 发布:2024-11-01 15:34:51 浏览:192
kkt编程 发布:2024-11-01 15:31:26 浏览:614
我的世界管理员进服务器提示 发布:2024-11-01 15:21:12 浏览:126
如何删除qq空间访问记录 发布:2024-11-01 15:20:07 浏览:323
微信上传图片失败 发布:2024-11-01 15:19:53 浏览:117
python网站域名服务器搭建 发布:2024-11-01 15:18:36 浏览:693
量产工具加密 发布:2024-11-01 15:14:31 浏览:674
储备存储 发布:2024-11-01 15:14:28 浏览:330