Използване на ParseExact(str, format), AddDays(count) и ToString(format)
Здравейте можете ли да ми обясните как се използват тези методи.Става въпрос за следната задача : Пресмятане с дати: 1000 дни на Земята
Здравейте можете ли да ми обясните как се използват тези методи.Става въпрос за следната задача : Пресмятане с дати: 1000 дни на Земята
Документацията на тези методи прочете ли? Ако да, какво не ти стана ясно? Ако не си, хубаво е първо там да започнеш.
А случайно да имаш проблем с отговора? На мен Judge винаги ми връща като отговор един ден по-рано.
Нужно ли е допълнително настройване за времеви зони?
Ами пробва ли вместо AddDays(1000) просто да му зададеш AddDays(999)
Как мислиш? :) Аз и така си изкарах точките естествено, понеже няколко онлайн калкулатора ми дават същият отговор, който кодът ми връща с 1000 дни.
Просто ми е интересно дали грешката е в някакви неявни настройки или в тестовете, които ползва Judge системата.
Здравейте и от мен. И при мен се получава същото нещо с AddDays(1000), но с 999 се получава и сичко е ОК.
Здравейте,
Нещо не се получават отговорите, ето го и моя код.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
var inDate = Console.ReadLine();
var outDate = DateTime.ParseExact(inDate, "dd-mm-yyyy", null);
outDate = outDate.AddDays(999);
Console.WriteLine(outDate.ToString("dd-mm-yyyy"));
}
}
}
Като "контролната" дата дадена в упражението (25-02-1995) получавам 20-02-1997 г., което са 726 дни (или 2 години точно).
Отговота който трябва да получа на изхода е 20-11-1997.
Не разбирам защо изкарава този резултат.
Ако може някой да разясни къде бъркам, ще съм благодарен? :)
Промени си mm на MM и си готов ;)
mm - минути (00 до 59)
MM - месеци ( 1 до 12 )
Благодаря :) (ще трябва да прегледам форматирането пак) :)
Edit: Коригирах и дните на 1000 (това е работещо решение)
Би трябвало с 999 да ти даде коректен отговор!
Понякога документацията е малко тегава за новаци, особено MSDN.
Като използвам ParseExact при въвеждане на третия параметър(култура) CultureInfo не ми го отчита като параметър, веднага го подчертава като грешка.А до колкото разбрах чрез ParseExact се определя формата на датата .
Трябва да добавиш глобализация, за да можеш да използваш метода DateTime:
using System;
using System.Globalization;
class Program
{
static void Main(string[] args)
{
string input = Console.ReadLine();
DateTime date = DateTime.ParseExact(input, "ddMMyyyy", CultureInfo.InvariantCulture);
}
}