// 获取本地时间戳
int getTimeStamp()
{
timeval tm;
gettimeofday(&tm, NULL);
return tm.tv_sec; // 单位:秒
// return tm.tv_usec; // 单位:毫秒
}
//
获取本地时间:
{ //获取本地时间
time_t t = time(NULL);
tm* lt = localtime(&t);
int year = lt->tm_year + 1900; // 相对1900年的过去的年数
int month = lt->tm_mon + 1; // 1月份:为0
int yday = lt->tm_yday; // 年第几天:从1开始
int mday = lt->tm_mday; // 月第几天:从1开始
int wday = lt->tm_wday; // 周第几天:从1开始
int hh = lt->tm_hour; // 时
int mm = lt->tm_min; // 分
int ss = lt->tm_sec; // 秒
printf("%d %d\n", year, month);
printf("%d %d %d\n", yday, mday, wday);
printf("%d %d %d\n", hh, mm, ss);
}
第一种:优点:仅使用C标准库;缺点:只能精确到秒级
time_t tt = time(NULL);//这句返回的只是一个时间戳
tm* t= localtime(&tt);
printf("%d-%02d-%02d %02d:%02d:%02d\n", t->tm_year + 1900, t->tm_mon + 1,
t->tm_mday,t->tm_hour,t->tm_min,t->tm_sec);
第二种:优点:能精确到毫秒级;缺点:使用了windows API
#include <windows.h>
#include <stdio.h>
int main( void )
{
SYSTEMTIME sys;
GetLocalTime( &sys );
printf("%4d/%02d/%02d%02d:%02d:%02d.%03d 星期%1d\n",sys.wYear,sys.wMonth,sys.wDay,sys.wHour,sys.wMinute, sys.wSecond,sys.wMilliseconds,sys.wDayOfWeek);
return 0;
}