I don't know if anyone else has found this, but there's an app called HoursTracker. it's very simple to use. You create your own categories of activity and when you switch activities, you click on the new activity. At the end of the day (or week, or month), HoursTracker can calculate how much time you spent on each activity.
I don't use it constantly, but once in a while when I need to get back on track, I'll make myself do it for 48 hours until I'm more conscious of how I'm using my time.