2013-05-22 3 views
-2

Привет, я использую функцию Randomdate в C# (она была написана другим человеком здесь, на StackOverflow - спасибо :)) В любом случае, она возвращает случайную дату между двумя датами, но в этом форматеИзменить формат datetime в C#

код:

public static DateTime RandomDay() 
{ 
    DateTime start = new DateTime(2006, 1, 1); 
    DateTime end = new DateTime(2013, 12, 31); 

    Random gen = new Random(); 

    int range = (end - start).Days; 
    return start.AddDays(gen.Next(range)); 
} 

Однако это возвращает дату в формате, как 2008-10-25, однако, я хочу даты, чтобы представлены следующим образом:

25.10.2008:00:00.000 

Возможно ли это? Thanks

+0

Вы можете указать локали, которые даты отформатированы. – ThaMe90

+0

Это не имеет никакого отношения к данному методу. Просто используйте одну из перегрузок ToString для форматирования 'DateTime'. – Caramiriel

+0

Дубликат вопроса см .: http://stackoverflow.com/questions/3025361/c-sharp-datetime-to-yyyymmddhhmmss-format – Amicable

ответ

5

Позвоните ToString() и отправьте желаемый формат.

var formatted = date.ToString("dd.MM.yyyy:HH:mm.fff"); 
3

Посмотрите на странице документации MSDN:

Custom date and time format

string formattedDate = DateTime.Now.ToString("dd.MM.yyyy:HH:mm:ss:fff"); 
+1

Bidou, добавьте некоторые детали с ваш ответ, ссылки только ответы обескуражены. – Habib

0

вы могли бы попробовать это:

string urdate = RandomDay().ToString("dd.MM.yyyy:HH:mm.fff"); 
0

DateTimes не имеют формат. Вместо этого они хранят дату и время как число 100 наносекундных тиков с 12:00 до полуночи, 1 января 0001 года A.D. внутри поля типа long.

Когда вы конвертируете их в строку, то эта строка делает имеет формат.

Так что вам нужно указать формат, который вы хотите в качестве параметра, к вызову DateTime.ToString().

В вашем случае, правильный формат задается "dd.MM.yyyy:HH:mm.fff", так что вы можете достичь того, чего вы хотите, выполнив:

DateTime myDate = RandomDay(); 
string myFormattedDateString = myDate.ToString("dd.MM.yyyy:HH:mm.fff"); 

See here for information about DateTime.ToString()

See here for information about the custom DateTime formatting strings such as the ones used in this answer.

0

Вы можете попробовать это

string urdate = RandomDay().Now.ToShortDateString(); 
Смежные вопросы