2012-05-08 2 views
0

Эта линия:DateTime конструктор выбрасывает ошибку, когда значения OK

new DateTime(2000, 11, 31, 10, 0, 0) 

броски ошибка: год, месяц и параметры день описывают не-представима DateTime.

Почему это происходит?

+2

простая ошибка ID-ten-T из-за ее внешнего вида – RhysW

+0

Сообщение об исключении объясняет проблему. –

ответ

1

Ноябрь не имеет 31 дня!

+2

- 1: только на земле это правда, возможно, он использовал календарь Нептуна, где их годы больше, поэтому их месяцы должны быть слишком, вы не можете сделать предположение, что это основано на каландре на земле, когда вы даете ответ – RhysW

7

Ноябрь имеет только 30 дней.

Есть много способов, чтобы помнить это ... вот два:

Поэма

http://askville.amazon.com/poem-remember-days-month/AnswerViewer.do?requestId=6262594

Knuckle Метод

лично я не могу когда-либо помните стихотворение, но метод кулака легко запомнить: http://lifehacker.com/232828/macgyver-tip-use-your-knuckles-to-remember-each-months-days

Метод кулака можно суммировать следующим образом:

  1. Сделать кулак и направьте его в сторону от вас, ладонью вниз.
  2. Глядя на кулак, вы должны увидеть ряд из четырех суставов.
  3. Это должно выглядеть кулака - долина - кулак - долина - кулак - долина - кулак.
  4. Если вы начинаете перечислять месяцы, прикасаясь к костяшкам и долинам, то каждый месяц, который приземляется на суставе, есть 31 день.
  5. Как только вы доберетесь до последнего костяшка (на июль), начните с первого костяшка (на август).

Суставы имеют 31 день, долины имеют 30, за исключением февраля.

+0

Как насчет метода 'if DateTime throws exception'? :) –

3

Ноябрь никогда не имел 31 дней.

Нет такой даты.

Точно так же у вас не может быть 29-го февраля большинство лет ... Действует только на високосные годы (так хорошо на 2012 год, но вы не можете создать 29/02/2013 как DateTime).

+0

Ждать это почему новый DateTime (1800 до н.э., 13, 33, 25, 61, 61) не работал для меня? – RhysW

+0

@RhysW - Какое количество '1800 BC'? Не компилируется. И вы посмотрели на [минимальное значение, которое может принимать DateTime] (http://msdn.microsoft.com/en-us/library/system.datetime.minvalue.aspx)? – Oded

+0

сарказм приятель :) нет 13-го месяца, 33-го дня, 25 часов, 61-й или 61-й секунды;) – RhysW

Смежные вопросы