time problem??

hii eveyone…
I hv drawn a Beam which must complete it’s rotation n 8sec…to with that i hav used the sec value of sys time…so that the beam completes 45deg in 1sec…Thus,makes 1 complete rotation (360deg) in 8sec…

 but the problem is it looks like clock tick..I wana make it as sweep how can i do that??   

or another option s ther any function to acess the mili second value of time so that my beam can make 10deg rotation in each 20mSec ?? so plz…can any 1 help me out…??

here s my snippet of code…

void display(void)
{

time(&ltime); // Get time
newtime = localtime(&ltime);

   glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);


glColor3f( 1.0, 0.0, 1.0);
bitmap_output(-r_max,-r_max, asctime(newtime),GLUT_BITMAP_TIMES_ROMAN_24);

glPushMatrix();
glRotatef( 180, 1.0, 0.0, 0.0);
glPushMatrix();
glRotatef( (360/8) * (newtime->tm_sec), 0.0, 0.0, 1.0);
drawBeam(0.0,0.0,0.0, 12);
glPopMatrix();
glPopMatrix();

glutSwapBuffers() ;
}