This operator compares the location of the objects in the virtual address space. Although it's possible that such a comparison might be useful in some cases, it's probably not what you want.
The comment "Check for self-assignment" is not correct. This is not an assignment operator, but comparison. The code was probably copied from an assignment operator and modified.
The return values should be true and false, instead of 1 and 0.
You should probably implement a better comparison function based on the value of the "date" object instead of the address. depending on how the date class is implemented e.g.