Then again, for some people, limiting themselves isn't at all the problem -- it's limiting their kids they worry about! Their children agree to only play for 1 hour, but then 2 or 3 hours go by and they're still in there at the computer, saying, "But Daaaaad, I forgot!"
If either you or your loved one needs a gentle reminder about how much time has gone by while adventuring in Azeroth, WoWTimer may be the addon for you.
WoWTimer is sort of like an alarm clock for a player in "the zone," designed to help snap you out of that state of gaming consciousness that we sometimes fall into where time and the world itself seem to fade away. You can use it to time how long you've been playing, and set a configurable time limit (30 minutes by default) that will send a warning message to your screen when your time is almost up. It will tell you "TIMER EXPIRED!!!" in big red letters when it's time to come back to reality, and remind you how late you are every few minutes thereafter until you either change the timer or logout. You can use the /settimer command to open the options and set the timer ("/settimer 0:30" for 30 minutes, for example) .
The problem (or maybe the advantage?) with this program is that there's no password-protection or other fail-safe to prevent the little devil standing on your shoulder thought from saying, "oh just a few more minutes..." All a potential time-mismanager needs to do is just extend the allotted playtime (or even just reset the timer), and the alarm will go quiet again. It certainly doesn't relieve a parent of the need to keep an eye the clock while the child plays. WoWTimer just gives whoever is playing the game a chance to hold him or herself accountable, or at least start facing reality and admit that they need to get better managing their time on this game.
As the addon's author says: "it's a good way to 'keep an honest man (or woman) honest.'"
(Download WoWTimer at ui.worldofwar.net)