C 如何以2013-01-11 23:34:21的格式获取日期和时间?

C 如何以2013-01-11 23:34:21的格式获取日期和时间?,c,unix,C,Unix,在我的C程序中,如何以2013-01-11 23:34:21格式获取日期和时间 我试过了 time_t now; time(&now); printf("%s", ctime(&now)); 但它给人的感觉就像2013年1月11日星期五23:50:33 谢谢您可以使用 从时间.h开始尝试: char timeString[20]; time_t t; struct tm tmp; t = time(NULL); // TODO: Error checking if (t &

在我的C程序中,如何以
2013-01-11 23:34:21
格式获取日期和时间

我试过了

time_t now;
time(&now);
printf("%s", ctime(&now));
但它给人的感觉就像2013年1月11日星期五23:50:33

谢谢

您可以使用

时间.h开始尝试:

char timeString[20];
time_t t;
struct tm tmp;

t = time(NULL);

// TODO: Error checking if (t < 0)

tmp = localtime_r(&t, &tmp);

// TODO: Error checking if tmp == NULL

strftime(timeString, sizeof(timeString), "%Y-%m-%d %H:%M:%S", tmp));

// TODO: Error checking if returned number == sizeof(timeString)-1
char时间字符串[20];
时间;
struct-tm-tmp;
t=时间(空);
//TODO:检查if(t<0)时出错
tmp=本地时间(r&t和tmp);
//TODO:检查tmp==NULL时出错
strftime(timeString,sizeof(timeString),%Y-%m-%d%H:%m:%S),tmp);
//TODO:如果返回的数字==sizeof(timeString)-1,则检查错误
Now it's 2013-01-12 10:33:13.
char timeString[20];
time_t t;
struct tm tmp;

t = time(NULL);

// TODO: Error checking if (t < 0)

tmp = localtime_r(&t, &tmp);

// TODO: Error checking if tmp == NULL

strftime(timeString, sizeof(timeString), "%Y-%m-%d %H:%M:%S", tmp));

// TODO: Error checking if returned number == sizeof(timeString)-1