CTime類使用小結

2021-06-05 22:24:44 字數 1381 閱讀 9991

1.初始化

m_begintime=ctime(2004,1,1,0,0,0,-1);//引數依次為year,month,day,hour,minite,second

m_endtime =ctime::getcurrenttime();//當前時間

2.日期比較

ctimespan span;

span=time1-time2;

得到兩時間的間隔.

可以取得span.gethours().等

3.access資料庫查詢

使用datediff()函式,具體參照access幫助

cstring timesql;

timesql.format(" where datediff('d',%s,'%s')<=0","日期",m_begintime.format("%y-%m-%d"));

4讀取日期字段(odbc)

cdbvariant var;

recset.getfieldvalue(i,var);

s.format("%d-%d-%d",(var.m_pdate)->year,(var.m_pdate)->month,

(var.m_pdate)->day);

5.ctime轉換為cstring

例:m_begintime.format("%y-%m-%d");//2004-10-03

6.cstring轉換為ctime

//s="2004-10-5"

int first=s.find('-');

int second=s.find('-',first+1);

int year=atoi(s.left(4));

int month=atoi(s.mid(first+1,second-first+1));

int day=atoi(s.mid(second+1,s.getlength()-second-1));

ctime temp(year,month,day,0,0,0);

7.判斷cstring是否表示的正確日期格式

//判斷是否為2004-01-13  ch 可代表其他分隔符

bool isdate(cstring str,char ch)

else if (month< 1 || month >12)

else if (day< 1 || day > 31)

else if (month == 4 || month == 6 || month == 9 || month == 11)

else

}else if (month == '2')

else

}else if (day>28)

return true;

}else

}

VC 中CTime類Format引數詳解

ctime類通過format可以格式化輸出日期時間資訊,通過控制format的引數我們可以實現各種各樣的日期時間格式輸出,要想隨心所欲的控制輸出的格式,就需要搞清楚各個引數的意義,下面通過例項來說明各個format引數的意義。假設ctime物件當前的日期時間為 2011 4 17 14 32 18 ...

CTime類的乙個BUG

最近學習pe結構的時候在有乙個image file header的時候發現有乙個引數是 dword timedatestamp 表示時間日期標記 表示從1970 1 1 0 0 0開始到現在的日期秒數。我想如果能夠修改,是不是能修改程式的日期。所以想到用需要修改的日期,減去1970 1 1 0 0 ...

VC 中CTime類Format引數詳解

ctime類通過format可以格式化輸出日期時間資訊,通過控制format的引數我們可以實現各種各樣的日期時間格式輸出,要想隨心所欲的控制輸出的格式,就需要搞清楚各個引數的意義,下面通過例項來說明各個format引數的意義。假設ctime物件當前的日期時間為 2011 4 17 14 32 18 ...