Сравнение DateTime DayOfWeek

Я хотел бы Сравнить дату, чтобы видеть, ли это перед субботой как так:

        //Check if Saturday YET
        if (MYWorkDay.DayOfWeek < DateTime.DayOfWeek.Saturday)
            IGottaWork();
        else
            Party();

Кажется, нет никакого способа сделать это.

Существует ли путь?

Заранее спасибо

7
задан Greycrow 30 January 2010 в 22:40
поделиться

4 ответа

Почему не это?

    if (MYWorkDay.DayOfWeek != DayOfWeek.Saturday
          && MYWorkDay.DayOfWeek != DayOfWeek.Sunday) 
    {
        IGottaWork();
    }
    else
        Party();

или даже лучше:

List<DayOfWeek> partyDays = new List<DayOfWeek> {
    DayOfWeek.Saturday, DayOfWeek.Sunday
};

if (partyDays.Contains(MYWorkDay.DayOfWeek))
    Party();
else
    IGottaWork();
13
ответ дан 6 December 2019 в 10:50
поделиться

Вы, конечно, должны повторно использовать ссылку, где это возможно, но может потребоваться получить новую ссылку в каждом теле функции.

Пример:

var e1 = document.getElementById('id1');
e1.innerHTML = 'test';
e1.className = 'info';

Если вы сохраняете ссылки дольше, вы можете обнаружить, что они больше не работают. Если, например, для части страницы получить iniveHTML и сохранить его обратно, все элементы в этой части будут удалены и созданы заново. Если в детали имеется ссылка на один из элементов, этот элемент больше не существует.

// This will recreate all elements inside the 'parent' element:
document.getElementById('parent').innerHTML += 'test';
-121--2827376-

Я не уверен, что это лучше, чем то, что у меня было:

c = numpy.fromfunction(lambda x,y: ((x//sq) + (y//sq)) % 2, (w,h))
self.chex = numpy.array((w,h,3))
self.chex[c == 0] = (0xAA, 0xAA, 0xAA)
self.chex[c == 1] = (0x99, 0x99, 0x99)
-121--2111424-

DayOfWeek - это перечисление, начинающееся с воскресенья как 0 и субботы как последнего элемента, следовательно, 6 в целочисленных терминах. Подумай об этом при сравнении.

1
ответ дан 6 December 2019 в 10:50
поделиться

Если вы предпочитаете делать сравнения, а не проверять список, вы также можете сделать это:

if ((MYWorkDay.DayOfWeek.CompareTo(DayOfWeek.Sunday) > 0) && (MYWorkDay.DayOfWeek.CompareTo(DayOfWeek.Saturday) < 0))
{
      IGottaWork();
}
else
{
      Party();
}
1
ответ дан 6 December 2019 в 10:50
поделиться

Попробуйте:

if (new [] {DayOfWeek.Saturday, DayOfWeek.Sunday}.Contains(d.DayOfWeek)) {
  // party :D
} else {
  // work  D:
}
0
ответ дан 6 December 2019 в 10:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: