So, the best solution I have found for this, Steve, is to start asking "About when do you think we'll be back?" in a kind, unargumentative way. Even better if you can call out something you want to do or get done at that time. When she says 2:00 and it ends up being 4:00, be sure to offer up a "That was fun, but I was hoping we'd be back at __:00, so that I could have _____." Let it go a few times, then be a total jerk about it and it'll stop, at least for a while. If your wife is like mine, she just doesn't realize how often she does it, and then doesn't think it's a big issue because I didn't communicate that I had something else I wanted to do. If she runs 2 hours late and you were just going to be sitting around with the kids, then big whoop. If you were going to get that door fixed or see a friend or (Heaven forbid) shop for yourself then that's an obvious thing you clearly missed because of her scheduling problems. At the very least, she should find a way to give you that time back.