Loading...
ArmenPotourlyan+deleted! avatar ArmenPotourlyan+deleted! 488 Точки

ParseExact(str, format):

Първият параметър e стрингът, от който искаш трансформираш в DateTime, а вторият задава формата, който се очаква (напр. "yyMMdd hhmmss"). Впрочем мисля, че има и трети параметър за културата...

Идеята на метода е, че очакваш точно определен формат на датата, който е различен от стандартните формати(можеш да ги провериш в MSDN).

AddDays(count):

Добавяш стойност, отговаряща на брой дни към текущата дата.

ToString(format):

Преобразува DateTime в стринг, като при това се задава точния формат (напр. "MM/dd/yyyy HH:mm:ss.fff"). Мисля, че има overload-нат метод, който да приема като параметър културата.

Препоръчвам ти да прегледаш стандартните формати на DateTime в MSDN.

Пример:

string dateStr = "11112002";
DateTimе date = DateTime.ParseExact(dateStr, "yyyyddMM", CultureInfo.InvariantCulture);
Console.WriteLine(date.ToString("dd.MM.yyyy"));  // 20.02.1111 в конзолата

5
10/03/2016 16:42:28
MorganFreeFarm avatar MorganFreeFarm 51 Точки

А как, да вземем дата, която въвежда потребителя ?

0
ArmenPotourlyan+deleted! avatar ArmenPotourlyan+deleted! 488 Точки

Ами запазваш в стринг променлива прочетеното от конзолата:

string dateStr = Console.ReadLine();

И после си я преобразуваш в DateTime с Parse(), TryParse() или ParseExact();

Може и директно като параметър в метода:

DateTime dt = DateTime.Parse(Console.ReadLine());

3
MorganFreeFarm avatar MorganFreeFarm 51 Точки

Благодаря !

 

0
DJelev avatar DJelev 0 Точки

Здравейте !

Разгледах решнията ви, но като използвам:

using System;
using System.Globalization;
class Program
{
    static void Main(string[] args)
    {
        string input = Console.ReadLine();
        DateTime date = DateTime.ParseExact(input, "ddMMyyyy", CultureInfo.InvariantCulture);

       DateTime d2 = date.AddDays(999);
        Console.WriteLine(d2);
        
    }
    
}

ми дава

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 Program.Main(String[] args)

в judge . Предполагам че иска да задам входа на датата в формат dd-mm-yyyy и неуспявам да се справя. :(

Ще се радвам ако ми помогнете. Предварително благодаря

0
Hristian233 avatar Hristian233 11 Точки

100/100 дава това:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            string input = Console.ReadLine();
            DateTime date = DateTime.ParseExact(input, "dd-MM-yyyy", null);
            DateTime d2 = date.AddDays(999);
            Console.WriteLine(d2.ToString("dd-MM-yyyy"));
        }
    }
}

 

CultureInfo.InvariantCulture  ми го маркира като непознато и го заместих с null, виждал съм я и преди така решена. После при изписването на екрана Console.Writeline .... трябва да бъде добавен и стринга, т.е. в какъв формат искаш да ти се изпише - d2.ToString("dd-MM-yyyy") и накрая в условието се иска да има по едно тире след ден и месец.

Ето и линк за тестване: https://judge.softuni.bg/Contests/Practice/Index/151#12

0
18/07/2016 11:25:19
btonew avatar btonew 43 Точки

Няма нужда от ToString

 

using System;

class Program
{
	public static void Main ()
	{
		DateTime date = DateTime.ParseExact (Console.ReadLine (), "dd-MM-yyyy", null);
		DateTime d2 = date.AddDays (999);

		Console.WriteLine ("{0:dd-MM-yyyy}", d2);
	}
}

 

0
DJelev avatar DJelev 0 Точки

благодаря

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.