1 13878578191 Unregistered / Unconfirmed GUEST, unregistred user! 2002-07-31 #1 如何把整型的数字转化为日期,并加在已知日期上,使之成为一个新的日期! 例如:已知日期2002-7-1,已知数字2,如何得出2002-7-3?
扳 扳手 Unregistered / Unconfirmed GUEST, unregistred user! 2002-07-31 #2 .... var a:tdate; ..... begin a:=strtodate('2002-7-1'); a:=a+2; //a中就是你要的日期型2002-7-3 edit1.text:=datetostr(a); //将a中的2002-7-3显示在edit1中。 end;
.... var a:tdate; ..... begin a:=strtodate('2002-7-1'); a:=a+2; //a中就是你要的日期型2002-7-3 edit1.text:=datetostr(a); //将a中的2002-7-3显示在edit1中。 end;
U ugvanxk Unregistered / Unconfirmed GUEST, unregistred user! 2002-07-31 #3 date+2 IncDay(const AValue: TDateTime; const ANumberOfDays: Integer = 1): TDateTime; Description IncDay returns the value of the AValue parameter, incremented by ANumberOfDays days. ANumberOfDays can be negative, to return a date N days previous. The time of day specified by the AValue parameter is copied to the result.
date+2 IncDay(const AValue: TDateTime; const ANumberOfDays: Integer = 1): TDateTime; Description IncDay returns the value of the AValue parameter, incremented by ANumberOfDays days. ANumberOfDays can be negative, to return a date N days previous. The time of day specified by the AValue parameter is copied to the result.
E ericimex01 Unregistered / Unconfirmed GUEST, unregistred user! 2002-07-31 #4 把整型的数字转化为日期用EncodeDate(year,month,day)
N necat Unregistered / Unconfirmed GUEST, unregistred user! 2002-07-31 #5 可以使用函数EncodeDate procedure xxxx(Sender: TObject); var a: Tdate; begin a := StrToDate('2002-7-1'); a := a + EncodeDate(1,1,3) - EncodeDate(1,1,1); //此时a := 2002-7-3 end;
可以使用函数EncodeDate procedure xxxx(Sender: TObject); var a: Tdate; begin a := StrToDate('2002-7-1'); a := a + EncodeDate(1,1,3) - EncodeDate(1,1,1); //此时a := 2002-7-3 end;
E encounter Unregistered / Unconfirmed GUEST, unregistred user! 2002-07-31 #6 var dt:Tdate; dt:=StrToDate('2002-7-1')+2;
P pcc_mmz1 Unregistered / Unconfirmed GUEST, unregistred user! 2002-07-31 #7 直接将整形值,与日期型变量相加,然后 调用datetostr()函数,就可得到你想要的结果。
B bravercaohao Unregistered / Unconfirmed GUEST, unregistred user! 2002-07-31 #8 以上加答的都是错的要考虑月份进位和年进位的问题 (要考虑月大、月小、月平、闰年的问题) 由于要赶项目进度,就做此回答
1 13878578191 Unregistered / Unconfirmed GUEST, unregistred user! 2002-07-31 #9 bravercaohao的回答有道理, 不知道又该如何处理这个问题?
扳 扳手 Unregistered / Unconfirmed GUEST, unregistred user! 2002-07-31 #10 天哪~~~晕倒!!!,这些系统会自动控制的。 照我的例子,你将日期改成2002-7-30,改成2002-12-30,试一试,错了 我把脑袋给你。。。
A aizb Unregistered / Unconfirmed GUEST, unregistred user! 2002-07-31 #11 日期其实就是一个浮点数,其整数部份就是从1899-12-30日以来的天数,所以你直接加上2就可以了,如果是加小时,可以直接加1/24,分可以加1/24/60..... 不过月需要用IncMonth函数.所需要用IncYear,不过在Delphi6中IncYear函数在DateUtils单元中.
日期其实就是一个浮点数,其整数部份就是从1899-12-30日以来的天数,所以你直接加上2就可以了,如果是加小时,可以直接加1/24,分可以加1/24/60..... 不过月需要用IncMonth函数.所需要用IncYear,不过在Delphi6中IncYear函数在DateUtils单元中.
B bravercaohao Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-01 #12 可用SQl语句 select dateadd(day,a,b) as newdate 其中a 表示增量,b表示当前日期, 提交给Sql Server 处理,在Delphi中应fieldbyname('newdate').asdatetime 就可以取得了。
可用SQl语句 select dateadd(day,a,b) as newdate 其中a 表示增量,b表示当前日期, 提交给Sql Server 处理,在Delphi中应fieldbyname('newdate').asdatetime 就可以取得了。
Y yytxt Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-01 #13 不管怎样,要实现你所要的功能,最好用的是IncDay这个函数。 如: NewDate := IncDay(YourDate,2); 注: NewDate、YourDate: TDateTime; 而且不用考虑润年、大、小月的问题,它都会自动的给你解决。 另外,你还可以通过使用负数获得前面的日期。 如:YourDate为'2002-7-25' NewDate := IncDay(YourDate, -3); 则NewDate为'2002-7-22'
不管怎样,要实现你所要的功能,最好用的是IncDay这个函数。 如: NewDate := IncDay(YourDate,2); 注: NewDate、YourDate: TDateTime; 而且不用考虑润年、大、小月的问题,它都会自动的给你解决。 另外,你还可以通过使用负数获得前面的日期。 如:YourDate为'2002-7-25' NewDate := IncDay(YourDate, -3); 则NewDate为'2002-7-22'
K Kang Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-01 #14 扳手 说的是对的,系统会自动去处理年、月、日的进位 bravecaohao也不试试,就妄下断语,这好象不好 不管想法多么好,自己要先实验一下才行
N necat Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-01 #15 实现方法很多,但最简单的方法还是yytxt和aizb说的使用IncDay这个函数。
R realist_78 Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-01 #16 有没有搞错呀!:bravercaohao他答的有什么道理呀?系统会自动考虑这个问题的, 不用你操心,直接加就可以,真是''庸人自扰''呀