Dim dt1 = DateTime.Parse("2011-08-11 4:59")
Dim dt2 = DateTime.Parse("2011-08-11 5:00")
Dim dt3 = DateTime.Parse("2011-08-11 5:01")
Dim r1 = RoundUp(dt1, TimeSpan.FromMinutes(15))
Console.WriteLine("--------------------")
Private Shared Function RoundUp(ByVal dt As DateTime, ByVal ds As TimeSpan) As DateTime
dim dtTicks as Int64 = dt.Ticks
dim dsTicks as Int64 = ds.Ticks
dim d1 as Int64 =(dtTicks + dsTicks - 1)
dim d2 as Int64 =(d1 / dsTicks)
dim d3 as Int64 =(d2 * dsTicks)
Console.WriteLine("dt=" + dtTicks.ToString())
Console.WriteLine("ds=" + dsTicks.ToString())
Console.WriteLine("d1=" + d1.ToString())
Console.WriteLine("d2=" + d2.ToString())
Console.WriteLine("d3=" + d3.ToString())
return new DateTime(d3, dt.Kind)