ST3VO
asked on
I need to compare dates (2)
Hi all,
I need an example code please:
I've got 2 dates in this format: Fri, 30 Nov 2007
I need to compare:
Fri, 30 Nov 2007 with Wed, 29 Aug 2007 for example...
And be able to compare if a date is older than today of 2 days ago.
I'll give full points for an example code please!
Hope you can help...
Thanks
ST3VO
I need an example code please:
I've got 2 dates in this format: Fri, 30 Nov 2007
I need to compare:
Fri, 30 Nov 2007 with Wed, 29 Aug 2007 for example...
And be able to compare if a date is older than today of 2 days ago.
I'll give full points for an example code please!
Hope you can help...
Thanks
ST3VO
ASKER
Right....
Everyday, I need to compare a list of images (last Modified) with another...so I only keep the need ones.
Last modified today on weekday!
So, on instance 1 Monday to Friday ....I run the program everyday to check if there are any images modified that day!
When it comes to the weekend t's different because I need to get all images 2 day's old or newer!
Hope this explains it better!
Thanks
ST3VO
Everyday, I need to compare a list of images (last Modified) with another...so I only keep the need ones.
Last modified today on weekday!
So, on instance 1 Monday to Friday ....I run the program everyday to check if there are any images modified that day!
When it comes to the weekend t's different because I need to get all images 2 day's old or newer!
Hope this explains it better!
Thanks
ST3VO
Someone will probably get you the answer and full code you desire, but in any case, here is a start. (Don't have Delphi right now to test or do much).
Use EncodeDate in SysUtils
Parse your text dates into its parts, turn the day, into the numeric day i.e., WED = 4, and do:
if EncodeDate(YearNow, MonthNow, DayNow) - 2 > EncodeDate(YearLastFri, MonthLastFri, DayLastFri) then
ShowMessage('Today is greater than Last Friday by two days');
We would subtract 2 from the current date to adjust for the weekend or 2 days before today.
Might get ya going until I or someone else codes it all up for you.
Hope I helped a bit.
John
Use EncodeDate in SysUtils
Parse your text dates into its parts, turn the day, into the numeric day i.e., WED = 4, and do:
if EncodeDate(YearNow, MonthNow, DayNow) - 2 > EncodeDate(YearLastFri, MonthLastFri, DayLastFri) then
ShowMessage('Today is greater than Last Friday by two days');
We would subtract 2 from the current date to adjust for the weekend or 2 days before today.
Might get ya going until I or someone else codes it all up for you.
Hope I helped a bit.
John
I think I understand, but maybe you could clarify. You have 2 dates 11/01/2007 - 10/01/2007 , which one of these dated do you want to check against DateTime.Today.AddDays(-2)
hi
have a look on these tow functions and then decide what you want to do:
1.
function CompareDate(const ADate, BDate: TDateTime) : TValueRelationship
Compares two TDateTime values (returns "less", "equal" or "greater"). Ignores the Time part if both values "fall" on the same day.
TValueRelationship represents the relationship between two values. Each of three TValueRelationship values has a "liked" symbolic constant:
-1 [LessThanValue] The first value is less than the second value.
0 [EqualsValue] The two values are equal.
1 [GreaterThanValue] The first value is greater than the second value.
2.
function DayOfTheWeek ( const Date : TDateTime ) : Integer;
The DayOfTheWeek function returns an index number for the day of the week : 1 = Monday
2 = Tuesday
3 = Wednesday
4 = Thursday
5 = Friday
6 = Saturday
7 = Sunday
have a look on these tow functions and then decide what you want to do:
1.
function CompareDate(const ADate, BDate: TDateTime) : TValueRelationship
Compares two TDateTime values (returns "less", "equal" or "greater"). Ignores the Time part if both values "fall" on the same day.
TValueRelationship represents the relationship between two values. Each of three TValueRelationship values has a "liked" symbolic constant:
-1 [LessThanValue] The first value is less than the second value.
0 [EqualsValue] The two values are equal.
1 [GreaterThanValue] The first value is greater than the second value.
2.
function DayOfTheWeek ( const Date : TDateTime ) : Integer;
The DayOfTheWeek function returns an index number for the day of the week : 1 = Monday
2 = Tuesday
3 = Wednesday
4 = Thursday
5 = Friday
6 = Saturday
7 = Sunday
ASKER
I think I would go for the first one!
ASKER
Can I have some example code please?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
That's for the conversion but what I really need is to compare dates....
I did not yet understand what you really want to do but this may help:
D1 is your date
case DayOfTheWeek(Now) of
1..5:if D1 = now then
ShowMessage('Done');
6,7: if now - D1 <= 2 then
ShowMessage('Done Weekend');
else
end;
D1 is your date
case DayOfTheWeek(Now) of
1..5:if D1 = now then
ShowMessage('Done');
6,7: if now - D1 <= 2 then
ShowMessage('Done Weekend');
else
end;
You can get the file's timestamp directly using the FileAge() function. You will need to convert this to a system date value with the FiledateToDateTime() function.
Example from:
http://www.delphibasics.co.uk/RTL.asp?Name=FileAge
var
fileName : string;
fileDate : Integer;
begin
// Try to open the Unit1.DCU file for the current project
fileName := 'Unit1.DCU';
fileDate := FileAge(fileName);
// Did we get the file age OK?
if fileDate > -1 then
ShowMessage(fileName+' last modified date = '+
DateToStr(FileDateToDateTi me(fileDat e)));
end;
==================
other examples:
http://www.swissdelphicenter.ch/torry/showcode.php?id=142
http://www.festra.com/eng/snip03.htm
http://www.scalabium.com/faq/dct0046.htm
MP3 example from Borland:
http://codecentral.borland.com/Item/20163
Example from:
http://www.delphibasics.co.uk/RTL.asp?Name=FileAge
var
fileName : string;
fileDate : Integer;
begin
// Try to open the Unit1.DCU file for the current project
fileName := 'Unit1.DCU';
fileDate := FileAge(fileName);
// Did we get the file age OK?
if fileDate > -1 then
ShowMessage(fileName+' last modified date = '+
DateToStr(FileDateToDateTi
end;
==================
other examples:
http://www.swissdelphicenter.ch/torry/showcode.php?id=142
http://www.festra.com/eng/snip03.htm
http://www.scalabium.com/faq/dct0046.htm
MP3 example from Borland:
http://codecentral.borland.com/Item/20163
ASKER
The problem is that the files I need to compare the dates from are online images.
Your example is local!
Would this work online?
Your example is local!
Would this work online?
Are the image files on a LAN file server? If so, YES.
If not, then what do mean by "online"?
If not, then what do mean by "online"?
ASKER
They are not on a LAN, They are images on the net!
please give us the URL and what method(s) you are using to look at the image files.
ASKER
Done....Thanks to all for your time!
Note to international developers:
ShortMonthNames month names depend on the local settings. Same is true for LongMonthNames array.
ShortMonthNames month names depend on the local settings. Same is true for LongMonthNames array.
"...than today of 2 days ago?"
Can you explain what this means?
Do you want to subtract two days from 'today' and compare that with the one or both of the dates?
Thx.
John