My most common command to my Google Nexus phone is: "Please (beeeeep) battery, do not die. It's been just 3 hours since I fully charged you." I hope that the next generation of Android will teach the phone to obey.
You're exaggerating by quite a bit or you have a broken phone. I got ~30 hours on a single charge running stock Nexus One ROM. I am currently running Cyanogenmod 6.0-RC2, and after 8.5 hours of a few calls, a few Youtube/Flash videos and a whole lot of internet browsing I still have 71% charge left.
Maybe you have the brightness cranked to the highest setting? Enabling Automatic Brightness (Settings->Display->Brightness in Cyanogen; probably the same in stock) will make the biggest difference in battery life. Although, even running it at the highest brightness setting, I've managed somewhere over 12 hours of time after a full charge.