Programming Basics - упражнения - 1000 Days After Birth
Условие:
Напишете програма, която въвежда рождена дата във формат “dd-MM-yyyy” и пресмята датата, на която се навършват 1000 дни от тази рождена дата и я отпечатва в същия формат.
вход |
изход |
25-02-1995 |
20-11-1997 |
07-11-2003 |
02-08-2006 |
30-12-2002 |
24-09-2005 |
01-01-2012 |
26-09-2014 |
14-06-1980 |
10-03-1983 |
* Подсказки: потърсете информация за типа DateTime в C# и по-конкретно разгледайте методите ParseExact(str, format), AddDays(count) и ToString(format). С тяхна помощ може да решите задачата, без да е необходимо да изчислявате дни, месеци и високосни години.
Моето решение:
var birth = DateTime.ParseExact(Console.ReadLine(), "dd/MM/yyyy", null);
var answer = birth.AddDays(1000);
Console.WriteLine("{0:dd-MM-yyyy}", answer);
Всички примерни тестове при мен излизат с отклонение 1 ден напред. Единственото обяснение което съм измислил е че по някаква причина не се вземат в предвид високосните години, обаче в MSDN-а пише изрично че add.days взема в предвид въпросните високосни години.
Когато кача решението в джъджа ми дава 5 броя (общо 5 са тестовете):
Unhandled Exception: System.FormatException: String was not recognized as a valid DateTime. at System.DateTimeParse.ParseExact(String s, String format, DateTimeFormatInfo dtfi, DateTimeStyles style) at _13._1000_Days_after_Birth.Program.Main(String[] args)
Някой може ли да отгатне какво недоразбирам за това как работи DateTime?
Да благодарско, усетих се за това в един момент.