如何比较Excel表格中的日期与当前系统日期(50分)

  • 主题发起人 主题发起人 许阳
  • 开始时间 开始时间

许阳

Unregistered / Unconfirmed
GUEST, unregistred user!
首先请教获取系统日期
其次比较日期(例如:2003-3-12)
 
systemdate is now() date()
可以直接比较
例如
if DateTimePicker1.Date>datetimePicker2.Date then
ShowMessage('>');
 
ShortDataFormat='yyyy-mm-dd'
1、DateToStr(Now)

2、直接减就行

Date1,date2:TDate;
...
if Date1-Date2>...

 
对不起看错了
 
获取日期
=TODAY() or =NOW()
比较日期
假设A1为=TODAY()获取的值,A2为2003-3-12
可以这样=IF(A1=A2,1,2),日期相等则值为1,否则为2
或=DAYS360(A1,A2,FALSE)返回两个日期相距天数第3个参数为false或true好像没有区别。
 
我想加日期,但只加年数,如2003-1-1 + 2=2005-1-1
 
In Excel

假如Cell C3=2003-1-1
=DATE(YEAR(C3)+2,MONTH(C3),DAY(C3))
In Delphi
var
Y,M,D : word;
NewDate : TDateTime;
begin
DecodeDate(StrToDate('2003-1-1'),Y,M,D);
Y := Y+2;
NewDate := EnCodeDate(Y,M,D);
Button2.Caption := DateToStr(NewDate);
 
还有一个问题: 在取msexcel.cells[a-1,1].value值的操作时,总
提示我"invalid variant operation" 。但如果是[1,1]不报错。这里a是表格
行数的最大植。
 
谢谢各位
 
后退
顶部