That property is specific to each item. Modifying one item won't change the
property on any others.
How are you getting that property, what API are you using? What version of
Outlook? If you get the property using the Outlook object model it should be
correct for your local time, assuming the time zones are correctly set up in
both Windows and Outlook. If you read it using a MAPI API you are probably
getting the date/time value in UTC, not adjusted for local time. Inside the
hood that's how all Outlook dates/times are stored.
I'm getting it like this using Delphi:
const
EmptyDispParams: TDispParams = (rgvarg: nil; rgdispidNamedArgs: nil;
cArgs: 0; cNamedArgs: 0);
var
iLCID: Integer;
function GetDispId(const Obj: IDispatch; const Member: WideString;
DispIdPtr: PInteger): Boolean;
begin
Result := Succeeded(Obj.GetIdsOfNames(GUID_NULL, @Member, 1, iLCID,
DispIdPtr));
end;
function InvokePropertyGet(const Obj: IDispatch; Name:
WideString):Variant;
var
intDispId, ArgErr: Integer;
DispParams: TDispParams;
begin
if GetDispId(Obj, Name, @intDispId) then
begin
DispParams := EmptyDispParams;
OleCheck(Obj.Invoke(intDispId,
GUID_NULL,
iLCID,
DISPATCH_PROPERTYGET,
DispParams,
// Using D6 so if you are trying on later
versions
// change this to just Result
@Result,
nil,
// Using D6 so if you are trying on later
versions
// change this to just ArgErr
@ArgErr));
end;
end;
And retrieving with this call:
// OutlookCompareFieldName is a parameter to the function where this
code lies and is
// set to 'LastModificationTime'
AApptCompareFieldValue := InvokePropertyGet(AOutlookAppointmentItem,
OutlookCompareFieldName);
If I inspect the AOutlookAppointmentItem, the LastModificationTime is
the same as the one retrieved using the call above.
The reason I'm doing it this way is so I can pass, by name, which
property I want to retrieve.
If you get the same value from every item then either every item was
actually modified at that time or you are doing something wrong.
That could not explain how the value returned was in the future. It
was a time stamp several minutes later
than the time on my system. My system time is not several minutes
behind the Exchange server time.