SORU
11 AĞUSTOS 2011, PERŞEMBE


Nasıl en yakın X dakika için zaman yakalayabilir miyim?

Yuvarlama için basit bir işlevi varen yakın 15 dakika için DateTime?

E. g.

2011-08-11 16:59 2011-08-11 17:00 olur

2011-08-11 17:00 2011-08-11 17:00 gibi kalır

2011-08-11 17:01 2011-08-11 17:15 olur

CEVAP
11 AĞUSTOS 2011, PERŞEMBE


DateTime RoundUp(DateTime dt, TimeSpan d)
{
    return new DateTime(((dt.Ticks   d.Ticks - 1) / d.Ticks) * d.Ticks);
}

Örnek:

var dt1 = RoundUp(DateTime.Parse("2011-08-11 16:59"), TimeSpan.FromMinutes(15));
// dt1 == {11/08/2011 17:00:00}

var dt2 = RoundUp(DateTime.Parse("2011-08-11 17:00"), TimeSpan.FromMinutes(15));
// dt2 == {11/08/2011 17:00:00}

var dt3 = RoundUp(DateTime.Parse("2011-08-11 17:01"), TimeSpan.FromMinutes(15));
// dt3 == {11/08/2011 17:15:00}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Justin Schenck

    Justin Schen

    24 Kasım 2006
  • Rickymon Tero

    Rickymon Ter

    1 Ocak 2007
  • TecnoTutosPC

    TecnoTutosPC

    19 Kasım 2012