public static void Main()
DataTable dt = new DataTable();
dt.Columns.Add("StartTime", typeof(System.TimeSpan));
dt.Columns.Add("StartTimeString", typeof(System.String), "convert(StartTime, 'System.String')");
DataRow dr = dt.NewRow();
dr["StartTime"] = DateTime.Now.TimeOfDay;
TimeSpan FilterTime = new TimeSpan(0, 20, 15, 0, 0);
Console.WriteLine(string.Format("FilterTime formated: {0}",FilterTime.ToString("'PT'hh'H'mm'M'ss'.'fffffff'S'")));
Console.WriteLine(string.Format("Row 0 StartTime formated: {0}", dt.Rows[0]["StartTimeString"]));
dt.DefaultView.RowFilter = string.Format("convert(StartTime, 'System.String') < '{0}'", FilterTime.ToString("'PT'hh'H'mm'M'ss'.'fffffff'S'"));
Console.WriteLine(string.Format("# of rows before the filter time: {0}", dt.DefaultView.Count.ToString()));