SORU
14 HAZİRAN 2011, Salı


Datetime - haftaya Salı Olsun

Nasıl gelecek Salı tarihinden alabilir miyim? PHP strtotime('next tuesday'); kadar basit. Nasıl bir şeye benzer elde edebilirsiniz .NET

CEVAP
14 HAZİRAN 2011, Salı


Gibi oldum belirtildiği açıklamalarda, orada çeşitli şeyler yapabilirsin demek "bir sonraki Salı", ama bu kod verir "önümüzdeki Salı oluşur, ya da bugün oluyor zaten Salı":

DateTime today = DateTime.Today;
// The (...   7) % 7 ensures we end up with a value in the range [0, 6]
int daysUntilTuesday = ((int) DayOfWeek.Tuesday - (int) today.DayOfWeek   7) % 7;
DateTime nextTuesday = today.AddDays(daysUntilTuesday);

Eğer "haftanın bir süre önce," eğer Salı kullanabilirsiniz: . vermek istiyorsanız

// This finds the next Monday (or today if it's Monday) and then adds a day... so the
// result is in the range [1-7]
int daysUntilTuesday = (((int) DayOfWeek.Monday - (int) today.DayOfWeek   7) % 7)   1;

... ya da orijinal formülü kullanabilirsin ama yarından itibaren:

DateTime tomorrow = DateTime.Today.AddDays(1);
// The (...   7) % 7 ensures we end up with a value in the range [0, 6]
int daysUntilTuesday = ((int) DayOfWeek.Tuesday - (int) tomorrow.DayOfWeek   7) % 7;
DateTime nextTuesday = tomorrow.AddDays(daysUntilTuesday);

EDİT: Sadece bu güzel ve çok yönlü:

public static DateTime GetNextWeekday(DateTime start, DayOfWeek day)
{
    // The (...   7) % 7 ensures we end up with a value in the range [0, 6]
    int daysToAdd = ((int) day - (int) start.DayOfWeek   7) % 7;
    return start.AddDays(daysToAdd);
}

Değerini almak için "bugün ya da önümüzdeki 6 gün sonra":

DateTime nextTuesday = GetNextWeekday(DateTime.Today, DayOfWeek.Tuesday);

Değerini almak için "bir sonraki Salı bugün hariç":

DateTime nextTuesday = GetNextWeekday(DateTime.Today.AddDays(1), DayOfWeek.Tuesday);

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ChrisCrossMedia

    ChrisCrossMe

    17 EYLÜL 2009
  • TV and Lust

    TV and Lust

    26 HAZİRAN 2006
  • waterfairy17

    waterfairy17

    9 Aralık 2007