C获取系统时间

/*
	功能:		获取当前系统时间
	返回值:	0-成功,1-失败
	out:		保存返回的系统时间,格式由fmt决定
	fmt:		0-返回:yyyy-mm-dd hh24:mi:ss, 1-返回:yyyy-mm-dd, 2-返回:hh24:mi:ss
*/
int getTime(char *out, int fmt)					// 获取当前系统时间
{
	if(out == NULL)
		return -1;

	time_t t;
	struct tm *tp;
	t = time(NULL);

	tp = localtime(&t);
	if(fmt == 0)
		sprintf(out, "%2.2d-%2.2d-%2.2d %2.2d:%2.2d:%2.2d", tp->tm_year+1900, tp->tm_mon+1, tp->tm_mday, tp->tm_hour, tp->tm_min, tp->tm_sec);
	else if(fmt == 1)
		sprintf(out, "%2.2d-%2.2d-%2.2d", tp->tm_year+1900, tp->tm_mon+1, tp->tm_mday);
	else if(fmt == 2)
		sprintf(out, "%2.2d:%2.2d:%2.2d", tp->tm_hour, tp->tm_min, tp->tm_sec);
	return 0;
}

测试代码:

char cDir[100] = {0};

    getTime(cDir, 0);
    printf("%s\n", cDir);
    getTime(cDir, 1);
    printf("%s\n", cDir);
    getTime(cDir, 2);
    printf("%s\n", cDir);

运行结果 如:

2011-04-09 23:30:13
2011-04-09
23:30:13

posted on 2011-04-09 23:26  清清飞扬  阅读(504)  评论(0编辑  收藏  举报