第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

“你要判斷mktime的返回值,如果返回-1就是沒有成功。 ”

“你要判斷mktime的返回值,如果返回-1就是沒有成功。 ”

幕布斯7119047 2022-10-02 13:09:42
long getTimeInterval(const char *t1, const char *t2) {struct tm tm1, tm2;time_t start, end;double diff;memset(&tm1, 0, sizeof(tm1));memset(&tm2, 0, sizeof(tm2));strptime(t1, "%Y%m%d", &tm1);start = mktime(&tm1);strptime(t2, "%Y%m%d", &tm2);end = mktime(&tm2);diff = difftime(start, end);return d2l(diff);}調(diào)用:printf("getTimeInterval=[%ld]\n", getTimeInterval("20101221", "20110326"));printf("getTimeInterval=[%ld]\n", getTimeInterval("20101221", "20990326"));第一行輸出:[-8208000]第二行輸出:[1292860801]對于這種兩個日期時間比較的問題,第二行的比較結果是錯誤的,為什么呢?謝謝!那對于這種情況還有辦法判斷么?謝謝!這個沒有辦法,只能自己寫代碼處理。好像64位系統(tǒng)就可以處理大的時間范圍。VC里有time64_t。
查看完整描述

3 回答

?
蠱毒傳說

TA貢獻1895條經(jīng)驗 獲得超3個贊

 1、方法一:若時間為結構體變量,比較兩個時間的大小,而且不能改變時間的值,可以是:
  int timecmp(date_t* date1,date_t* date2)
{
if(date1-> year==date1-> year)
return memcmp(date1, date2,sizeof(date_t));
else
return date1-> year-date2-> year
}
  2、方法二:
  long getTimeInterval(const char *t1, const char *t2) {
struct tm tm1, tm2;
time_t start, end;
double diff;
memset(&tm1, 0, sizeof(tm1));
memset(&tm2, 0, sizeof(tm2));
strptime(t1, "%Y%m%d", &tm1);
start = mktime(&tm1);
strptime(t2, "%Y%m%d", &tm2);
end = mktime(&tm2);
diff = difftime(start, end);
return d2l(diff);
}
調(diào)用:
  printf("getTimeInterval=[%ld]\n", getTimeInterval("20101221", "20110326"));
printf("getTimeInterval=[%ld]\n", getTimeInterval("20101221", "20990326"));
第一行輸出:[-8208000]
第二行輸出:[1292860801]
  3、補充:C語言時間函數(shù):
 (1)、獲得日歷時間函數(shù):
  可以通過time()函數(shù)來獲得日歷時間(Calendar Time),其原型為:time_t time(time_t * timer);
 
 如果已經(jīng)聲明了參數(shù)timer,可以從參數(shù)timer返回現(xiàn)在的日歷時間,同時也可以通過返回值返回現(xiàn)在的日歷時間,即從一個時間點(例如:1970年
1月1日0時0分0秒)到現(xiàn)在此時的秒數(shù)。如果參數(shù)為空(NUL),函數(shù)將只通過返回值返回現(xiàn)在的日歷時間,比如下面這個例子用來顯示當前的日歷時間:
  (2)、獲得日期和時間函數(shù):
  這里說的日期和時間就是平時所說的年、月、日、時、分、秒等信息。從第2節(jié)我們已經(jīng)知道這些信息都保存在一個名為tm的結構體中,那么如何將一個日歷時間保存為一個tm結構的對象呢?
  其中可以使用的函數(shù)是gmtime()和localtime(),這兩個函數(shù)的原型為:
  struct tm * gmtime(const time_t *timer);
  struct tm * localtime(const time_t * timer);
 
 其中gmtime()函數(shù)是將日歷時間轉(zhuǎn)化為世界標準時間(即格林尼治時間),并返回一個tm結構體來保存這個時間,而localtime()函數(shù)是將
日歷時間轉(zhuǎn)化為本地時間。比如現(xiàn)在用gmtime()函數(shù)獲得的世界標準時間是2005年7月30日7點18分20秒,那么用localtime()函數(shù)
在中國地區(qū)獲得的本地時間會比世界標準時間晚8個小時,即2005年7月30日15點18分20秒。


查看完整回答
反對 回復 2022-10-06
?
喵喵時光機

TA貢獻1846條經(jīng)驗 獲得超7個贊

printf("getTimeInterval=[%ld]\n", getTimeInterval("20101221", "20110326"));
printf("getTimeInterval=[%ld]\n", getTimeInterval("20101221", "20990326"));
第一行輸出:[-8208000]
第二行輸出:[1292860801]

查看完整回答
反對 回復 2022-10-06
?
RISEBY

TA貢獻1856條經(jīng)驗 獲得超5個贊

int timecmp(date_t* date1,date_t* date2)
{
if(date1-> year==date1-> year)
return memcmp(date1, date2,sizeof(date_t));
else
return date1-> year-date2-> year
}

查看完整回答
反對 回復 2022-10-06
  • 3 回答
  • 0 關注
  • 360 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號