亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? date.c

?? 新版輕量級嵌入式數(shù)據(jù)庫
?? C
?? 第 1 頁 / 共 2 頁
字號:
      **    weekday N      **      ** Move the date to the same time on the next occurrence of      ** weekday N where 0==Sunday, 1==Monday, and so forth.  If the      ** date is already on the appropriate weekday, this is a no-op.      */      if( strncmp(z, "weekday ", 8)==0 && getValue(&z[8],&r)>0                 && (n=r)==r && n>=0 && r<7 ){        int Z;        computeYMD_HMS(p);        p->validTZ = 0;        p->validJD = 0;        computeJD(p);        Z = p->rJD + 1.5;        Z %= 7;        if( Z>n ) Z -= 7;        p->rJD += n - Z;        clearYMD_HMS_TZ(p);        rc = 0;      }      break;    }    case 's': {      /*      **    start of TTTTT      **      ** Move the date backwards to the beginning of the current day,      ** or month or year.      */      if( strncmp(z, "start of ", 9)!=0 ) break;      z += 9;      computeYMD(p);      p->validHMS = 1;      p->h = p->m = 0;      p->s = 0.0;      p->validTZ = 0;      p->validJD = 0;      if( strcmp(z,"month")==0 ){        p->D = 1;        rc = 0;      }else if( strcmp(z,"year")==0 ){        computeYMD(p);        p->M = 1;        p->D = 1;        rc = 0;      }else if( strcmp(z,"day")==0 ){        rc = 0;      }      break;    }    case '+':    case '-':    case '0':    case '1':    case '2':    case '3':    case '4':    case '5':    case '6':    case '7':    case '8':    case '9': {      n = getValue(z, &r);      if( n<=0 ) break;      if( z[n]==':' ){        /* A modifier of the form (+|-)HH:MM:SS.FFF adds (or subtracts) the        ** specified number of hours, minutes, seconds, and fractional seconds        ** to the time.  The ".FFF" may be omitted.  The ":SS.FFF" may be        ** omitted.        */        const char *z2 = z;        DateTime tx;        int day;        if( !isdigit(*(u8*)z2) ) z2++;        memset(&tx, 0, sizeof(tx));        if( parseHhMmSs(z2, &tx) ) break;        computeJD(&tx);        tx.rJD -= 0.5;        day = (int)tx.rJD;        tx.rJD -= day;        if( z[0]=='-' ) tx.rJD = -tx.rJD;        computeJD(p);        clearYMD_HMS_TZ(p);       p->rJD += tx.rJD;        rc = 0;        break;      }      z += n;      while( isspace(*(u8*)z) ) z++;      n = strlen(z);      if( n>10 || n<3 ) break;      if( z[n-1]=='s' ){ z[n-1] = 0; n--; }      computeJD(p);      rc = 0;      if( n==3 && strcmp(z,"day")==0 ){        p->rJD += r;      }else if( n==4 && strcmp(z,"hour")==0 ){        p->rJD += r/24.0;      }else if( n==6 && strcmp(z,"minute")==0 ){        p->rJD += r/(24.0*60.0);      }else if( n==6 && strcmp(z,"second")==0 ){        p->rJD += r/(24.0*60.0*60.0);      }else if( n==5 && strcmp(z,"month")==0 ){        int x, y;        computeYMD_HMS(p);        p->M += r;        x = p->M>0 ? (p->M-1)/12 : (p->M-12)/12;        p->Y += x;        p->M -= x*12;        p->validJD = 0;        computeJD(p);        y = r;        if( y!=r ){          p->rJD += (r - y)*30.0;        }      }else if( n==4 && strcmp(z,"year")==0 ){        computeYMD_HMS(p);        p->Y += r;        p->validJD = 0;        computeJD(p);      }else{        rc = 1;      }      clearYMD_HMS_TZ(p);      break;    }    default: {      break;    }  }  return rc;}/*** Process time function arguments.  argv[0] is a date-time stamp.** argv[1] and following are modifiers.  Parse them all and write** the resulting time into the DateTime structure p.  Return 0** on success and 1 if there are any errors.*/static int isDate(int argc, sqlite3_value **argv, DateTime *p){  int i;  if( argc==0 ) return 1;  if( SQLITE_NULL==sqlite3_value_type(argv[0]) ||       parseDateOrTime((char*)sqlite3_value_text(argv[0]), p) ) return 1;  for(i=1; i<argc; i++){    if( SQLITE_NULL==sqlite3_value_type(argv[i]) ||         parseModifier((char*)sqlite3_value_text(argv[i]), p) ) return 1;  }  return 0;}/*** The following routines implement the various date and time functions** of SQLite.*//***    julianday( TIMESTRING, MOD, MOD, ...)**** Return the julian day number of the date specified in the arguments*/static void juliandayFunc(  sqlite3_context *context,  int argc,  sqlite3_value **argv){  DateTime x;  if( isDate(argc, argv, &x)==0 ){    computeJD(&x);    sqlite3_result_double(context, x.rJD);  }}/***    datetime( TIMESTRING, MOD, MOD, ...)**** Return YYYY-MM-DD HH:MM:SS*/static void datetimeFunc(  sqlite3_context *context,  int argc,  sqlite3_value **argv){  DateTime x;  if( isDate(argc, argv, &x)==0 ){    char zBuf[100];    computeYMD_HMS(&x);    sprintf(zBuf, "%04d-%02d-%02d %02d:%02d:%02d",x.Y, x.M, x.D, x.h, x.m,           (int)(x.s));    sqlite3_result_text(context, zBuf, -1, SQLITE_TRANSIENT);  }}/***    time( TIMESTRING, MOD, MOD, ...)**** Return HH:MM:SS*/static void timeFunc(  sqlite3_context *context,  int argc,  sqlite3_value **argv){  DateTime x;  if( isDate(argc, argv, &x)==0 ){    char zBuf[100];    computeHMS(&x);    sprintf(zBuf, "%02d:%02d:%02d", x.h, x.m, (int)x.s);    sqlite3_result_text(context, zBuf, -1, SQLITE_TRANSIENT);  }}/***    date( TIMESTRING, MOD, MOD, ...)**** Return YYYY-MM-DD*/static void dateFunc(  sqlite3_context *context,  int argc,  sqlite3_value **argv){  DateTime x;  if( isDate(argc, argv, &x)==0 ){    char zBuf[100];    computeYMD(&x);    sprintf(zBuf, "%04d-%02d-%02d", x.Y, x.M, x.D);    sqlite3_result_text(context, zBuf, -1, SQLITE_TRANSIENT);  }}/***    strftime( FORMAT, TIMESTRING, MOD, MOD, ...)**** Return a string described by FORMAT.  Conversions as follows:****   %d  day of month**   %f  ** fractional seconds  SS.SSS**   %H  hour 00-24**   %j  day of year 000-366**   %J  ** Julian day number**   %m  month 01-12**   %M  minute 00-59**   %s  seconds since 1970-01-01**   %S  seconds 00-59**   %w  day of week 0-6  sunday==0**   %W  week of year 00-53**   %Y  year 0000-9999**   %%  %*/static void strftimeFunc(  sqlite3_context *context,  int argc,  sqlite3_value **argv){  DateTime x;  int n, i, j;  char *z;  const char *zFmt = (const char*)sqlite3_value_text(argv[0]);  char zBuf[100];  if( zFmt==0 || isDate(argc-1, argv+1, &x) ) return;  for(i=0, n=1; zFmt[i]; i++, n++){    if( zFmt[i]=='%' ){      switch( zFmt[i+1] ){        case 'd':        case 'H':        case 'm':        case 'M':        case 'S':        case 'W':          n++;          /* fall thru */        case 'w':        case '%':          break;        case 'f':          n += 8;          break;        case 'j':          n += 3;          break;        case 'Y':          n += 8;          break;        case 's':        case 'J':          n += 50;          break;        default:          return;  /* ERROR.  return a NULL */      }      i++;    }  }  if( n<sizeof(zBuf) ){    z = zBuf;  }else{    z = sqliteMalloc( n );    if( z==0 ) return;  }  computeJD(&x);  computeYMD_HMS(&x);  for(i=j=0; zFmt[i]; i++){    if( zFmt[i]!='%' ){      z[j++] = zFmt[i];    }else{      i++;      switch( zFmt[i] ){        case 'd':  sprintf(&z[j],"%02d",x.D); j+=2; break;        case 'f': {          int s = x.s;          int ms = (x.s - s)*1000.0;          sprintf(&z[j],"%02d.%03d",s,ms);          j += strlen(&z[j]);          break;        }        case 'H':  sprintf(&z[j],"%02d",x.h); j+=2; break;        case 'W': /* Fall thru */        case 'j': {          int nDay;             /* Number of days since 1st day of year */          DateTime y = x;          y.validJD = 0;          y.M = 1;          y.D = 1;          computeJD(&y);          nDay = x.rJD - y.rJD;          if( zFmt[i]=='W' ){            int wd;   /* 0=Monday, 1=Tuesday, ... 6=Sunday */            wd = ((int)(x.rJD+0.5)) % 7;            sprintf(&z[j],"%02d",(nDay+7-wd)/7);            j += 2;          }else{            sprintf(&z[j],"%03d",nDay+1);            j += 3;          }          break;        }        case 'J':  sprintf(&z[j],"%.16g",x.rJD); j+=strlen(&z[j]); break;        case 'm':  sprintf(&z[j],"%02d",x.M); j+=2; break;        case 'M':  sprintf(&z[j],"%02d",x.m); j+=2; break;        case 's': {          sprintf(&z[j],"%d",(int)((x.rJD-2440587.5)*86400.0 + 0.5));          j += strlen(&z[j]);          break;        }        case 'S':  sprintf(&z[j],"%02d",(int)(x.s+0.5)); j+=2; break;        case 'w':  z[j++] = (((int)(x.rJD+1.5)) % 7) + '0'; break;        case 'Y':  sprintf(&z[j],"%04d",x.Y); j+=strlen(&z[j]); break;        case '%':  z[j++] = '%'; break;      }    }  }  z[j] = 0;  sqlite3_result_text(context, z, -1, SQLITE_TRANSIENT);  if( z!=zBuf ){    sqliteFree(z);  }}/*** current_time()**** This function returns the same value as time('now').*/static void ctimeFunc(  sqlite3_context *context,  int argc,  sqlite3_value **argv){  sqlite3_value *pVal = sqlite3ValueNew();  if( pVal ){    sqlite3ValueSetStr(pVal, -1, "now", SQLITE_UTF8, SQLITE_STATIC);    timeFunc(context, 1, &pVal);    sqlite3ValueFree(pVal);  }}/*** current_date()**** This function returns the same value as date('now').*/static void cdateFunc(  sqlite3_context *context,  int argc,  sqlite3_value **argv){  sqlite3_value *pVal = sqlite3ValueNew();  if( pVal ){    sqlite3ValueSetStr(pVal, -1, "now", SQLITE_UTF8, SQLITE_STATIC);    dateFunc(context, 1, &pVal);    sqlite3ValueFree(pVal);  }}/*** current_timestamp()**** This function returns the same value as datetime('now').*/static void ctimestampFunc(  sqlite3_context *context,  int argc,  sqlite3_value **argv){  sqlite3_value *pVal = sqlite3ValueNew();  if( pVal ){    sqlite3ValueSetStr(pVal, -1, "now", SQLITE_UTF8, SQLITE_STATIC);    datetimeFunc(context, 1, &pVal);    sqlite3ValueFree(pVal);  }}#endif /* !defined(SQLITE_OMIT_DATETIME_FUNCS) */#ifdef SQLITE_OMIT_DATETIME_FUNCS/*** If the library is compiled to omit the full-scale date and time** handling (to get a smaller binary), the following minimal version** of the functions current_time(), current_date() and current_timestamp()** are included instead. This is to support column declarations that** include "DEFAULT CURRENT_TIME" etc.**** This function uses the C-library functions time(), gmtime()** and strftime(). The format string to pass to strftime() is supplied** as the user-data for the function.*/static void currentTimeFunc(  sqlite3_context *context,  int argc,  sqlite3_value **argv){  time_t t;  char *zFormat = (char *)sqlite3_user_data(context);  char zBuf[20];  time(&t);#ifdef SQLITE_TEST  {    extern int sqlite3_current_time;  /* See os_XXX.c */    if( sqlite3_current_time ){      t = sqlite3_current_time;    }  }#endif  sqlite3OsEnterMutex();  strftime(zBuf, 20, zFormat, gmtime(&t));  sqlite3OsLeaveMutex();  sqlite3_result_text(context, zBuf, -1, SQLITE_TRANSIENT);}#endif/*** This function registered all of the above C functions as SQL** functions.  This should be the only routine in this file with** external linkage.*/void sqlite3RegisterDateTimeFunctions(sqlite3 *db){#ifndef SQLITE_OMIT_DATETIME_FUNCS  static const struct {     char *zName;     int nArg;     void (*xFunc)(sqlite3_context*,int,sqlite3_value**);  } aFuncs[] = {    { "julianday", -1, juliandayFunc   },    { "date",      -1, dateFunc        },    { "time",      -1, timeFunc        },    { "datetime",  -1, datetimeFunc    },    { "strftime",  -1, strftimeFunc    },    { "current_time",       0, ctimeFunc      },    { "current_timestamp",  0, ctimestampFunc },    { "current_date",       0, cdateFunc      },  };  int i;  for(i=0; i<sizeof(aFuncs)/sizeof(aFuncs[0]); i++){    sqlite3CreateFunc(db, aFuncs[i].zName, aFuncs[i].nArg,        SQLITE_UTF8, 0, aFuncs[i].xFunc, 0, 0);  }#else  static const struct {     char *zName;     char *zFormat;  } aFuncs[] = {    { "current_time", "%H:%M:%S" },    { "current_date", "%Y-%m-%d" },    { "current_timestamp", "%Y-%m-%d %H:%M:%S" }  };  int i;  for(i=0; i<sizeof(aFuncs)/sizeof(aFuncs[0]); i++){    sqlite3CreateFunc(db, aFuncs[i].zName, 0, SQLITE_UTF8,         aFuncs[i].zFormat, currentTimeFunc, 0, 0);  }#endif}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区精品在线播放| 欧美激情中文字幕| 日韩一区精品字幕| 91精品国产91综合久久蜜臀| 日本中文在线一区| 欧美成人a∨高清免费观看| 精彩视频一区二区三区| 国产色产综合色产在线视频| av成人老司机| 亚洲国产精品久久久久秋霞影院 | 国产精品99久久久久久久女警| 欧美精品一区二区三区很污很色的| 黄色精品一二区| 中文字幕av在线一区二区三区| 93久久精品日日躁夜夜躁欧美| 一区二区三区精品| 91精品国产乱码久久蜜臀| 国产真实精品久久二三区| 中文字幕精品一区二区精品绿巨人| 99久久99久久久精品齐齐| 亚洲最新视频在线播放| 日韩欧美高清在线| 成人午夜私人影院| 日日骚欧美日韩| 国产日韩欧美制服另类| 欧美视频一区二区三区在线观看| 玖玖九九国产精品| 中文字幕亚洲在| 欧美高清www午色夜在线视频| 国产伦精品一区二区三区视频青涩| 国产精品视频免费| 欧美精品777| 99久久99久久精品国产片果冻| 婷婷一区二区三区| 国产免费成人在线视频| 欧美日韩精品三区| 国产成人免费在线视频| 舔着乳尖日韩一区| 一区免费观看视频| 欧美mv日韩mv国产网站app| 99re热视频这里只精品| 国产一区二区三区不卡在线观看 | 国产精品国产自产拍在线| 成人网页在线观看| 久久伊99综合婷婷久久伊| 日韩av午夜在线观看| 91精品国产综合久久精品麻豆| 亚洲精品日日夜夜| 一本大道av一区二区在线播放| 色综合天天天天做夜夜夜夜做| 国产亚洲一区二区三区在线观看 | 日韩一区二区三区电影 | 夜夜精品浪潮av一区二区三区| 欧美日韩在线观看一区二区| 亚洲三级小视频| 日韩一级免费一区| 91香蕉视频黄| 天天色天天操综合| 久久精品视频在线看| 欧美日韩免费高清一区色橹橹| 亚洲日本欧美天堂| 91国产福利在线| 精品一区二区三区欧美| 26uuu亚洲综合色| 男女男精品网站| 91免费观看视频在线| 不卡的av在线播放| 91蜜桃传媒精品久久久一区二区| 精品久久久久久久久久久久久久久 | 欧美日韩亚洲综合一区 | 韩国av一区二区三区在线观看| 欧美中文字幕久久| 亚洲一二三区在线观看| 欧美一区二区三区视频| 成人午夜又粗又硬又大| 日韩av不卡在线观看| 亚洲国产精品久久一线不卡| 日本一区二区三区四区在线视频| 欧美三区在线观看| 成人ar影院免费观看视频| 日本三级亚洲精品| 国产剧情一区在线| 国产精品综合视频| 国产寡妇亲子伦一区二区| 日韩在线一二三区| 一区二区三区在线看| 国产亚洲人成网站| 久久久国际精品| 日韩一级片网址| 亚洲第一av色| 亚洲国产精品国自产拍av| 一区二区三区不卡视频| 欧美国产禁国产网站cc| 亚洲网友自拍偷拍| 日韩不卡一二三区| 丁香网亚洲国际| 99re这里都是精品| 欧美一区三区二区| 久久99精品久久久久婷婷| 成av人片一区二区| 国产欧美1区2区3区| 国产一区二区精品久久| 欧美人伦禁忌dvd放荡欲情| 久久久久久久久久美女| 国产麻豆日韩欧美久久| 不卡欧美aaaaa| 国产精品久久久久久亚洲伦| 一区二区三区欧美视频| a在线播放不卡| 亚洲第一综合色| 欧美日韩午夜精品| 日韩女优av电影| 亚洲精品亚洲人成人网在线播放| 97久久人人超碰| 国产欧美精品一区二区色综合| 舔着乳尖日韩一区| 成人在线综合网站| 欧美激情一区二区三区四区| 午夜亚洲国产au精品一区二区| 国产一区二区三区最好精华液| 99精品视频在线播放观看| 欧美一区二区久久| 亚洲成人在线免费| 日韩欧美一区在线| 欧美一区二区免费观在线| 精品少妇一区二区三区在线播放| 亚洲美女电影在线| 欧美日韩成人综合| 成人在线综合网| 麻豆91精品91久久久的内涵| 久久嫩草精品久久久精品一| 国产一区二区三区观看| 久久久久免费观看| 51精品视频一区二区三区| 日本黄色一区二区| 亚洲成人免费在线观看| 666欧美在线视频| 国产在线一区二区综合免费视频| 欧美videossexotv100| 91在线码无精品| 精品无码三级在线观看视频| 国产精品免费丝袜| 日韩视频不卡中文| 肉色丝袜一区二区| 欧美精品丝袜中出| 五月天欧美精品| 欧美熟乱第一页| 国产伦精品一区二区三区视频青涩 | 亚洲在线视频网站| 国产精品亚洲视频| 久久99精品一区二区三区三区| 午夜欧美电影在线观看| 国产精品乱码一区二三区小蝌蚪| 中文一区在线播放| 欧美日韩中文字幕精品| 国产电影精品久久禁18| 亚洲午夜一二三区视频| 亚洲综合在线免费观看| 一区二区三区成人| 麻豆视频观看网址久久| 日韩国产精品大片| 蜜臀av国产精品久久久久| 日韩一区精品字幕| 日本伊人午夜精品| 五月天网站亚洲| 国产精品免费免费| 国产精品进线69影院| 2023国产精品| 亚洲一区二区三区精品在线| 国产喂奶挤奶一区二区三区| 日韩精品欧美精品| 亚洲欧美日韩小说| 亚洲韩国精品一区| 国产在线精品免费| 成人激情校园春色| 欧美日韩一区高清| 精品少妇一区二区三区日产乱码| 色偷偷久久一区二区三区| 九九在线精品视频| 午夜精品福利在线| 免费看黄色91| 免费一级片91| 喷水一区二区三区| 亚洲韩国精品一区| 色婷婷综合久久久中文字幕| 亚洲影视在线播放| 日韩一区二区免费电影| 欧美日韩精品福利| 337p粉嫩大胆色噜噜噜噜亚洲 | 日韩女优电影在线观看| 国产情人综合久久777777| 综合激情网...| 亚洲bt欧美bt精品| 极品少妇xxxx偷拍精品少妇| 国产成人免费9x9x人网站视频| 一本色道综合亚洲| 日韩精品一区二区三区中文不卡 | 成人欧美一区二区三区小说 | 91精品久久久久久久91蜜桃| 久久久三级国产网站|