2016-05-01 3 views

ответ

4

Просто реализация для примера:

public static string GetDateString(int month, int day) 
{ 
    return new DateTime(DateTime.Now.Year, month, day).ToString("dd.MM"); 
} 

Для добавления дней к дате вы можете использовать DateTime.AddDays() метод:

DateTime date = DateTime.Now; 
DateTime otherDate = date.AddDays(7); 

Упомянутый по @Giorgi и @D ссылки. Петров также очень полезен.

UPDATE:

Вот пример, основанный на ваш комментарий.

class ConsoleApp 
{ 
    public void Main(string[] args) 
    { 
     int day = int.Parse(Console.ReadLine()); 
     int month = int.Parse(Console.ReadLine()); 

     string formattedDate = GetDateString(month, day); 

     Console.WriteLine(formattedDate); 

     // You cannot initialize a DateTime struct only with month and day. 
     // Because Year is not relevant we use the current year. 
     DateTime date = new DateTime(DateTime.Now.Year, month, day); 
     DateTime otherDate = date.AddDays(5); 

     Console.WriteLine(GetFormattedDate(otherDate)); 
    } 

    public static string GetFormattedDate(DateTime date) 
    { 
     // The ToString() method accepts any custom date format string. 
     // Here is how you can create a custom date format string: 
     // https://msdn.microsoft.com/en-us/library/8kb3ddd4%28v=vs.110%29.aspx 

     // dd: days in two digits 
     // MM: months in two digits 
     return date.ToString("dd.MM"); 
    } 

    public static string GetDateString(int month, int day) 
    { 
     // Here we construct a DateTime struct 
     DateTime date = new DateTime(DateTime.Now.Year, month, day); 

     // Now we extract only the day and month parts. 
     return GetFormattedDate(date); 
    } 
} 
+0

Ваш пример не работает для меня, потому что мне нужны только два целых числа, превращенные в соответствующие день и месяц без года, секунд и т. Д. 28 и 03 в дату типа «28.03». –

+0

Обновлен мой ответ с помощью строки формата даты. (Заменяется '' MM.dd "' на '' dd.MM "'). 'GetDateString (3, 28)' вернет '' 28.03 "строковое значение, чтобы он определенно делал то, что вам нужно. – Gabor

+0

public static void Main (string [] args) { int day = int.Parse (Console.ReadLine()); int month = int.Parse (Console.ReadLine()); новый DateTime (DateTime.Now.Year, месяц, день) .ToString ("dd.MM"); DateTime date = DateTime.Now; DateTime otherDate = date.AddDays (5); Console.WriteLine (otherDate); } –

3

Ну, если 28 - это день и 03 месяца - вы можете передать эти параметры конструктору объекта структуры DateTime. После инициализации объекта DateTime существуют различные способы его преобразования в виде строки. Он также имеет метод AddDays.

+0

Я знаю, что могу передать эти параметры, но данные не введены мной. Мне нужно написать программу, которая принимает от пользователя два целых числа и затем превращает их в дату. 28 и 03 в дату типа «28.03» –

+0

Я думаю, что не важно, откуда данные (введенные вами или кем-то еще), когда у вас есть метод, принимающий два целых числа, которые создают экземпляр 'DateTime' и вызывают его' .ToString() 'с соответствующей строкой настраиваемого формата и, наконец, возвращает эту строку вызывающему. – Gabor

3

Существует много документации о том, что вам нужно (в частности - структура DateTime). Самая актуальная информация о ваших текущих потребностях и различные способы форматирования строки yor с датой вы можете найти здесь: https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx Но, как я уже упоминал ранее, в Интернете есть много информации.

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