2016-07-01~~2016-07-31 整月
2016-08-05~~2016-08-31 非整月
2016-09-12~~2016-09-30 非整月
2016-02-01~~2016-02-26 非整月
就是這個意思,如何搞?
uj5u.com熱心網友回復:
取得某個月的第一天日期和最后一天日期,再對比一下。uj5u.com熱心網友回復:
判斷日期相差的天數是否等于該月的天數uj5u.com熱心網友回復:
沒有更好的辦法??uj5u.com熱心網友回復:
下面代碼供參考:
procedure TMDI_1_1_Frm.Button8Click(Sender: TObject);
var S,Date1,Date2:string;
begin
S:='2016-08-05~~2016-08-31';
Date1:=Copy(S,1,10);
Date2:=Copy(S,13,10);
if (StartOfTheMonth(StrToData(Date1))=StrToData(Date1)) and
(EndOfTheMonth(StrToDate(Date2))=StrToData(Date1))
then showMessage('整月!')
else showMessage('非整月!')l
end;
注意要USES DateUtils單元;
uj5u.com熱心網友回復:
兄弟,能試試 ShowMessage(DatetoStr(StartofTheMonth(date1)));是什么值嗎?

這是我的結果。
uj5u.com熱心網友回復:
date1:=2016-07-01;date2:=2016-07-31;
ShowMessage(DatetoStr(StartofTheMonth(date1)));
uj5u.com熱心網友回復:
if DayOfTheMonth(nDate+1)=1 then整月
uj5u.com熱心網友回復:
變數:date1:Tdatetime;
s:string;
賦值:
date1:=2016-07-01;
s:='2016-07-01';
回傳值:
showmessage(inttostr(DayOfTheMonth(date1)); --- 回傳30 ??????
showmessage(inttostr(DayOfTheMonth(strtodatetime(s)))); --- 回傳 1
為什么??
uj5u.com熱心網友回復:
如果 把 date1賦值為 2016-02-29 (今年是閏年)showmessage(inttostr(DayOfTheMonth(date1+1))); ---- 回傳為 8 ????????
如果把s賦值為‘2016-02-29’
showmessage(inttostr(DayOfTheMonth(strtodatetime(s)+1))); ----回傳值為 1
日期型的 不如 字符型的準確???
uj5u.com熱心網友回復:
簡單的.加1天看是不是下月第一天,
uj5u.com熱心網友回復:
var
sdate,date1,date2:string;
begin
sdate:='2016-02-01~~2016-02-28';
Date1:=Copy(Sdate,1,10);
Date2:=Copy(Sdate,13,10);
if (dayof(strtodate(date1))<>1) or (dayof(incday(strtodate(date2)))<>1)
then
showmessage('非整月')
else
showmessage('整月');
end;
uj5u.com熱心網友回復:
樓試用過嗎,經測驗通過了呀!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/64687.html
標籤:數據庫相關
