我是从DateTimePicker1.date里得到的,取出来的格式为"2008-05"。
解决方案 »
- 很希望大家把自己做项目中的小技巧共享出来
- 流的操作问题:为什么这段代码达不到目的? ----在线等待一个解答!
- 请问:怎样在指定的坐标创建一个指定名称的文本框和下拉框控件?
- 用delphi调用.net编写的WebService,怎样调用?请高手指点!
- 高手请进,100分请教怎样实现多页报表的设计?
- 各位高手,怎样判断编辑框中输入的字符串是数字
- S[Pos(' ', S)]该怎么理解?请进来看看。
- 怎么用udp协议发送信息?
- 在浏览器中双击一个文件而运行某个程序,但运行后的程序怎么能够知道我前面双击的是哪个文件呢?
- 关于返回TStrings类型的怪问题。急救!!!
- 安裝oracle client後,能否不重啟主機,就可以實現與遠程ORACLE進行連接?
- 判断本机是在内网还是外网
var
iMonth,iYear,iDay : Word;
MyDayTable : TDayTable;
tmpBool : Boolean;
begin
DecodeDate(ADate, iYear, iMonth, iDay);
tmpBool := IsLeapYear(iYear);
MyDayTable := MonthDays[tmpBool];
Result := MyDayTable[iMonth];
end;
uses
DateUtils; DaysInMonth(DateTimePicker1.date)
RawDateStr: string;RawDateStr := '2008-05';
Result := DaysInMonth(StrToDate(RawDateStr + '-01'));
if (year mod 100) = 0 then begin
//如果可以被100整除(世纪元年),就再看是否能被400整除,能够则为闰年(二月有29天),否则非闰年(二月仅有28天)
if (year mod 400) = 0 then
result := true
else
result := false;
end else if (year mod 4) = 0 then
//如果非世纪元年,能够被4整除则为闰年,否则为非闰年
result := true
else
result := false;if ((year mod 400) = 0) or (((year mod 100) <> 0) and ((year mod 4) = 0)) then result := true
else Result := false;也可以通过DateUtils单元的IsLeapYear来判断是否为闰年,或者通过DateUtils单元的function DaysInAMonth(const AYear, AMonth: Word): Word;传入年度和月份值来取得该月的天数。
通过StrToDateDef()将取得的一个值转化为1号,众多周知每月肯定都是有1号的,没1号我就不活了.
"2008-05-01 00:00:00 000"就是一个完整的Datetime类型
然后直接使用DaysInMonth()就OK了
同意
lz不想显示日子 可以设置控制面板的日期格式或用encodeDate拼一下
dateutils,strUtils;var
strYM: String;
begin
strYM := '2009-02'; ShowMessage(IntToStr(DaysInAMonth(StrToIntDef(Copy(strYM,1,Pos('-',strYM)-1),0),StrToIntDef(RightStr(strYM,Length(strYM)-Pos('-',strYM)),0))));
end; ShowMessage(IntToStr(DaysInAMonth(YearOf(DateTimePicker1.Date),MonthOf(DateTimePicker1.Date))));
declare @dt datetime
set @dt='2009-02-05'
SELECT datediff(day,@dt-day(@dt)+1,dateadd(month,1,@dt-day(@dt) +1)-1)+1
SELECT 32-Day(@dt+(32-Day(@dt)))
uses
DateUtils;
ShowMessage(IntToStr(DaysInAMonth(YearOf(DateTimePicker1.Date),MonthOf(DateTimePicker1.Date))));
uses
DateUtils;
ShowMessage(IntToStr(DaysInAMonth(YearOf(DateTimePicker1.Date),MonthOf(DateTimePicker1.Date))));