Tricks to get your battery to last longer:
1. Get "Advanced Task Killer" from the market and kill all unnecessary processes that run. The Task Manager that comes on your phone can detect applications that are multitasking, but it can't detect processes. Processes can randomly start running when you open apps like Facebook, Browser, etc. When you press the "back" button to exit an application, these processes keep running and consume lots of battery life. I saved muchos battery life with this app.
2. Go to Settings>About phone>Battery use and see what's consuming the most of your battery life. Click on the items you see that are consuming battery life and it'll tell you if you can do anything about it.
3. Live Wallpapers consume a considerate amount of battery life, so if you're having battery problems, avoid using them.
4. Remove unneeded widgets.
5. A friend told me using battery conserving apps actually increased his battery consumption. I don't know if it's true, or why that would be but I would try testing to see if using a battery conserving app actually helps, or makes it worse.
6. Turn off WiFi when you're not using it, or it will constantly attempt to search for WiFi, decreasing your battery life.
7. Try using SetCPU, and set a limit to the processing power (is that what it's called?) that your phone can use. Don't set it to the minimum because you don't want a laggy phone, but try lowering it a bit and see if that reduces the amount of battery life used.
If that doesn't work, nothing will. I don't know why you only have 4 hours of battery life, but that should fix anything that makes your phone have less battery life