The water in the tank may be fine. Depending how far away the faucet is from the water heater will determine how fast the hot water will get to it. When the water isn't used the water in the pipes cools down so after long periods, it may take a while for hot water to reach your tap. How old is the heater? A good practice is to flush the tank once a year to remove any sediment that may have accumilated in the bottom. your water quality will determine how much sediment or muck has settled on the bottom. Hook your garden hose to the spicket at the bottom of your tank. Run it out side or in a sink. Open the spicket. The water will start out brown and dirty. As soon as the water comes out clear shut the spicket and disconnect your hose. This will help your water heater to better heat the water quicker.try insulating your water pipes with armourflex pipe insulation.
I can't say for sure what the exact problem is, but in my experience, you are going to need to get someone in there to fix it, but first I would call a plummer outfit, and ask what it might be, and then if they think that you can do it yourself over the phone with them. If not, then you are going to have to either have a plumber come to your home, or you are going to have to replace the one you have. Hope this helps, good luck.
Try turning up the heat or you might need a new one.