2016-03-14 3 views
-2

У меня есть переменная testDate, которая содержит значение {01/02/2016 AM 12:00:00}. Мне нужно получить только часть даты из набора. Для этого я использовал ниже код:Получить дату с переменной DateTime

var testDate = startDate.AddDays(i); 
var testDateOnly = testDate.Date; 

Но она возвращает тот же {01/02/2016 AM 12:00:00}.

+9

Это потому, что в .NET 'DateTime' тип данных * всегда * имеет компонент времени ...... нет типа данных «Дата» с датой –

+0

Оформить эту ссылку на msdn https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx – TusharJ

+0

Дублирующий вопрос Пожалуйста, следуйте за [extract the date part from DateTime in C#] (http://stackoverflow.com/questions/7740458/extract-the-date-part-from-datetime-in-cs harp) –

ответ

1

переменная дата будет содержать дату, время, часть будет 00:00:00

http://msdn.microsoft.com/en-us/library/system.datetime.date.aspx

// The date with time component 
var testDate = startDate.AddDays(i); 

// Get date-only portion of date, without its time (ie, time 00:00:00). 
var testDateOnly = testDate.Date; 

// Display date using short date string. 
Console.WriteLine(testDateOnly.ToString("d")); 

// OUTPUT will be  1/2/2016 
0
var testDate = startDate.AddDays(i); 
    string dateOnlyString = testDate.ToString("dd-MM-yyy"); 

"dd-MM-yyy" это будет дата Формат строки вывода, Вы можете выбрать формат в соответствии с вашими требованиями. Вы можете использовать следующие также для форматирования:

dateOnlyString = d.ToString("M/d/yyyy");    // "3/9/2008" 
    dateOnlyString = d.ToString("MM/dd/yyyy}");   // "03/09/2008" 

    // day/month names 
    dateOnlyString = d.ToString("ddd, MMM d, yyyy}"); // "Sun, Mar 9, 2008" 
    dateOnlyString = d.ToString("dddd, MMMM d, yyyy}"); // "Sunday, March 9,2008" 

    // two/four digit year 
    dateOnlyString = d.ToString("MM/dd/yy}");   // "03/09/08" 
    dateOnlyString = d.ToString("MM/dd/yyyy}");   // "03/09/2008" 
+0

mm будет возвращать минуты не месяц! –

+0

@SmitPatel: Да, вы правы, спасибо., И загляните в обновления –

+0

Теперь правильно. –

0

Вы должны преобразовать даты, чтобы String типа с использованием этого

var testDate = startDate.AddDays(i); 

var testDateOnly = testDate.Date.ToShortDateString(); //string 

или

var testDateOnly = testDate.Date.ToString("dd/MM/yyyy"); 

или

var testDateOnly = testDate.Date.ToString("d"); 

Проверьте его here. Найдите больше о Standard Date and Time Format Strings

Вы получите формат ДД-ММ-ГГГГ, делая это.

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