You can store it as a DateTime and ignore the date portion.
DateTime.ParseExact("1:45 pm", "h:mm tt", null)
Using this the date portion will default to whatever the current date is.
** Update **
Bit more of an explanation.
Lets say you have;
string hourValue = "1";
string minuteValue = "45";
string timePeriod = "PM";
string timeString = string.Format("{0}:{1} {2}", hourValue, minuteValue, timePeriod);
DateTime timeValue = DateTime.ParseExact(timeString, "h:mm tt", null);
End result is you have a DateTime variable called timeValue this has the current date and the time that was entered, you can store this entire value in the database in a DateTime field then when you retrieve it you can either just look at the Hour and Minute properties.
If you don't want to store the date portion and just store the time use something like;
long timeTicks = timeValue.TimeOfDay.Ticks;
To get the number of Ticks that make up the time portion and store that in the database in a field of type long. If you do this when you get the value from the database you load it like;
DateTime timeValue = DateTime.FromBinary(timeTicks);
When you do this the date portion becomes 01/01/0001;