Set up a timer, probably one minute intervals is fine, then have a counter which gives you the half hour. In the timer Tick event handler deal with the counter, and when it expires read the data from the DB.
Format the data into HTML and send it as an HTML email:
Sending an Email in C# with or without attachments: generic routine.[
^] should help.
Time differences are also easy:
DateTime inTime = (DateTime) reader["intime"];
DateTime outTime = (DateTime) reader["outtime"];
TimeSpan diff = inTime - outTime;