64,682
社区成员
发帖
与我相关
我的任务
分享
//申请存放时间字符串的内存空间
m_date = (char *)malloc(sizeof(char) * strlen("2000-01-01") + 1);
m_time = mktime(&p);
//格式化本机时间
strftime(m_date, strlen(m_date), "%Y-%m-%d", &p);
#include <stdio.h>
#include <string.h>
#include <time.h>
#include <sys/timeb.h>
struct tm st;
time_t tt;
char mon[4];
char mn[12][4]={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
int i;
char timstr[27];
char tmpbuf[128];
struct _timeb tb;
int tz;
char c;
void main() {
strcpy(timstr,"08/Dec/2011:15:25:03 +0800");
sscanf(timstr,"%2d/%3s/%4d:%2d:%2d:%2d",&st.tm_mday,mon,&st.tm_year,&st.tm_hour,&st.tm_min,&st.tm_sec);
for (i=0;i<12;i++) if (0==stricmp(mn[i],mon)) {st.tm_mon=i; break;}
st.tm_year-=1900;
tt=mktime(&st);
if (-1!=tt) {
strftime(tmpbuf,128,"%Y-%m-%d %H:%M:%S\n",localtime(&tt));
printf(tmpbuf);//2011-12-08 15:25:03
} else {
printf("[%s] is Invalid time string!\n",timstr);
}
_ftime(&tb);
strftime(tmpbuf,128,"%m/%b/%Y:%H:%M:%S",localtime(&tb.time));
tz=-tb.timezone;
c=(tz>0)?'+':'-';
tz=(tz>0)?tz:-tz;
sprintf(tmpbuf,"%s %c%02d%02d\n",tmpbuf,c,tz/60,tz%60);
printf(tmpbuf);//12/Dec/2011:17:36:41 +0800
}
现在的码农竟然99%都不会在cmd窗口中输入cd命令设置当前目录为程序所在目录,输入程序名运行程序了!
time_t m_time;
//本机时间的结构体
struct tm p;
//获取时间
time(&m_time);
//获取本机时间
localtime_s(&p, &m_time);
//申请存放时间字符串的内存空间
char *m_date = (char *)malloc(sizeof(char) * strlen("2000-01-01") + 1);
m_time = mktime(&p);
//格式化本机时间
strftime(m_date, strlen(m_date), "%Y-%m-%d", &p);
getchar();
MsgBox::show(m_date);
return 0;
//申请存放时间字符串的内存空间
m_date = (char *)malloc(sizeof(char) * strlen("2000-01-01") + 1);
m_time = mktime(&p);
//格式化本机时间
strftime(m_date, strlen(m_date), "%Y-%m-%d", &p);
getchar();
strftime(m_date, strlen(m_date), "%Y-%m-%d", &p);
改成
strftime(m_date, sizeof(char) * 11, "%Y-%m-%d", &st);
谢谢各位老师