⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 computeweekdatetime.c

📁 计算时间
💻 C
字号:
/************************************************************************/
/*                                                                      */
/*  僾儘僙僗柤丗 帪娫偲擔晅丄梛傪媮傔傞                       丂丂丂  丂*/
/*  娭  悢  柤丗 寁嶼梛  丂丂丂丂                                       */
/*  婡擻奣梫  丗 帪娫偲擔晅丄梛偺寁嶼偵偮偄偰                           */
/*  曉媝抣    丗 int 梛 : 惓忢廔椆                                      */
/*               -1 : 堎忢廔椆                                          */
/*  拲堄帠崁  丗 摿偵側偟                                               */
/*                                                                      */
/*  怴婯嶌惉幰丗妿巙暉                                                  */
/*  怴婯嶌惉擔丗2005擭05寧30擔                                          */
/*  僶乕僕儑儞丗Ver1.1.0                                                */
/*  廋惓幰丗                                                            */
/*  廋惓擔丗                                                            */
/*  僶乕僕儑儞丗                                                        */
/*                                                                      */
/************************************************************************/
/*----------------------------------------------------------------------*/
/*                          僀儞僋儖乕僪                                */
/*----------------------------------------------------------------------*/
#include<string.h>
#include<stdio.h>
#include<time.h>
inline int GetDateTime(char *s,long int bill_long,char *d_str,char *t_str)
{
    /* 曄悢偺愰尵 */
    time_t tim;
    struct tm tb;
    struct tm tb1;
    int year_off=1900;
    int mon_off=1;
    char s1[20];

    memset(s1,0,sizeof(s1));

    /* 僒僀僘偺僠僃僢僋張棟 */
    if(strlen(s)!=14){
        /* 堎忢廔椆 */
        return -1;
    }

    /* 擭偺庢摼偡傞 */
    memcpy(s1,s,4);
    s1[4]='\0';
    tb.tm_year=atoi(s1);

    /* 寧偺庢摼偡傞 */
    memcpy(s1,s+4,2);
    s1[2]='\0';
    tb.tm_mon=atoi(s1);

    /* 擔偺庢摼偡傞 */
    memcpy(s1,s+6,2);
    s1[2]='\0';
    tb.tm_mday=atoi(s1);

    if(tb.tm_year==0 || tb.tm_mon==0 || tb.tm_mday==0){
        /* 堎忢廔椆 */
        return -1;
    }

    /* 帪偺庢摼偡傞 */
    memcpy(s1,s+8,2);
    s1[2]='\0';
    tb.tm_hour=atoi(s1);

    /* 暘偺庢摼偡傞 */
    memcpy(s1,s+10,2);
    s1[2]='\0';
    tb.tm_min=atoi(s1);

    /* 昩偺庢摼偡傞 */
    memcpy(s1,s+12,2);
    s1[2]='\0';
    tb.tm_sec=atoi(s1);

    /* 1900擭偐傜尰嵼傑偱 */
    tb.tm_year -= year_off;
    tb.tm_mon -= mon_off;
    tb.tm_isdst=0;

    /* 帪娫偺奿擺 */
    tim=mktime(&tb);

    /* 僒僀僘 */
    tim += bill_long;
    tb1=*localtime(&tim);
    sprintf(d_str,"%04d%02d%02d",tb1.tm_year+1900,tb1.tm_mon+1,tb1.tm_mday);
    sprintf(t_str,"%02d%02d%02d",tb1.tm_hour,tb1.tm_min,tb1.tm_sec);
    //printf("\nsee d_str:%s\n",d_str);
    //printf("\nsee t_str:%s\n",t_str);

    /* 惓忢廔椆 */
    return (tb1.tm_wday);
}
int main(void)
{
    int i_day=0;
    char pc_date[9];
    char pc_time[7];
    i_day=GetDateTime("20050623155459",3650,pc_date,pc_time);
    if(i_day==-1){
        printf("\nError End!\n");
        exit(1);
    }
    printf("\nNow it is week %d \n",i_day);
    printf("\nsee pc_date:%s\n",pc_date);
    printf("\nsee pc_time:%s\n",pc_time);
    /* 惓忢廔椆 */
    return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -