I started writing this about an hour and a half ago when i got high and started thinking. This is a huge brain fart, but sounds real legit. check it out its pretty interesting at least.
theory:your brain naturally uses the ammount of information you process as a reference for time. the information you process varies based on your activity and level of concentration, or the ammount of energy being put into the brain. you can think of it as a clock in your brain. your brain processes things in waves, or bits of information. the speed of this can vary based on the level of conentration, or other outside influence. say your brain processes (4 bits) of information while you are zoned out watching TV, and time seems to be flying by. Up the activity, add concentration like a ball flying at your face, and you are going to be processing where that ball is as many times in a second as you can. Lets say that is (32 bit)s of information (to make the math simple), [the ammount of bits per second your brain processes is geared up to the clock in your head, when the clock goes faster time, as you percieve it, will be slower relative to real time] so 32 bits per second divided by 4 bits per second is 8. Time would seem 8 times slower when the ball is being thrown at you compared to staring at the tube.
Time seems to always go by slow during a challenging task. your brain will demand more energy as you concentrate more on something mentally, allowing your brain to work faster. this speeds your mental clock, making the time seem slower.
When you sleep, 8 hours could go by in what seems like a second. you brain generally has very low activity while you sleep. this means that the brain will be processing little to no information. if your brain didn't process any information for one minute, that one minute went by literally feeling like no time.
If you are having a bad week, and it frusterates you, not only do you have to worry about the normal load of processing, but you are also frequently thinking and/or worrying. this extra load over a long period of time, will make a week seem like a month relative to another week, or real time.
adrenline pumps up your brain and gives it extra energy when you are under high stress. This could explain the feeling of someone telling you something that sets off a stress button, it almost sounding in slow motion. This could also explain the feeling of sports where time seems to slow down at high stress times. The most obvious times I have experienced this were skiing. As your come around spinning and landing a large jump, there is a lot of adrenline pumping so you can process everything into a complicated movement that will allow you to stay on your feet. all of this makes time seem to go really slow, which actually helps you out a bunch not to get hurt.
experience/efficiency: as you practice something, you store away a motion, or a method to do something in your memory. eventually it takes less processing and your brain becomes more efficient at accomplishing tasks with patterns. eventually you will be able to do it mindlessly. When you were concentrating on a task for the first time, time would seem to go slower, because you are concentrating hard, and your mind is moving faster. As you become more efficient at the task, it will take less brain power to do it, and time will seem to go faster. And to explain the boring repetative job you have that just drags on, you are probably processing bits of information like "i hate this job", or thinking about other things while you are stuck alone with your imagination.
Theoretically we are all in control of how fast we percieve time. It is the sixth sense, and works like the other five senses in the way that it is all relative from person to person, or situation to situation, etc... so nobody really knows what the definate speed of time is, only what our brain tells us. just like your sense of taste change, or your sense of hearing can change, your sense of time can change.