在linux里面经常要用到时间,linux有各种各样的时间
unix时间戳
shell里面可以使用date命令来获取
输入date可以看到当前具体的年月日时等信息
date
Mon May 22 14:38:24 CST 2017
date +%s可以看到当前时间距离1970年1月1日0时0分0秒的秒数
date +%s
1495435118
如果想看任何一个时间距离1970年1月1日0时0分0秒的秒数
date -d"May 22 14:27:32 CST 2017" +%s
1495434452
如果想看距离1970年1月1日0时0分0秒的秒数对应的是哪一天,可以使用:
date -d @1495435118
更多的可以参考man date
程序用的代码片段:
#include <time.h>
time_t time_current = time(NULL);
struct tm *tmptr=localtime(&time_current);
printf("now is tm_min:%d tm_sec:%d \n ",tmptr->tm_min,tmptr->tm_sec);
struct tm
{
int tm_sec; /* Seconds. [0-60] (1 leap second) */
int tm_min; /* Minutes. [0-59] */
int tm_hour; /* Hours. [0-23] */
int tm_mday; /* Day. [1-31] */
int tm_mon; /* Month. [0-11] */
int tm_year; /* Year - 1900. */
int tm_wday; /* Day of week. [0-6] */
int tm_yday; /* Days in year.[0-365] */
int tm_isdst; /* DST. [-1/0/1]*/
#ifdef __USE_BSD
long int tm_gmtoff; /* Seconds east of UTC. */
__const char *tm_zone; /* Timezone abbreviation. */
#else
long int __tm_gmtoff; /* Seconds east of UTC. */
__const char *__tm_zone; /* Timezone abbreviation. */
#endif
};