I need to know if the two patches are effectively the same.
I have an old patch file and new patch file created with the unix diff command. Just diff'ing the patches reports differences due to the timestamp when the patch was created.
Is there a way (with diff?) that can reliably tell me if the two patches are effectively the same?
Use interdiff from patchutils.
You could apply both patches to copies of the same source file and then use diff normally to check for differences in the results.
Patches represent changes to the input files, so two patches are the same if they have the same effect on the input files. Differences in patches are directly reflected in differences of the results of those patches.
Any differences between two patches that don't result in a difference in the result of those patches are irrelevant.
You could try Beyond Compare.
It can be configured to replace strings in one or both files with something else, which it then does under the covers. The files on screen still look like they exist on disk, but the differences are according to the processed files.
With that you can configure it to change all text that has a format like a timestamp to something common in both files, and then you'll only compare everything else.
In the Windows client, to change these settings, in the toolbar there is a button with a small symbol that looks like a man, torso and head, and in the dialog that opens, there is a tab for Replacements.