Date.parse assumes local time, if not specified.
However, UTC is obviously UTC.
For example, my computer is UTC -5 (well, actually, Chicago CDT), so for two timestamps it seems to me like 5 hours.
You will get the same if you specify UTC:
Date.parse('8/15/2012 '+'11:59:45 AM UTC');
source share