在C#中更改日期时间格式

时间:2013-05-22 09:15:38

标签: c# datetime

嘿我在C#中使用Randomdate函数(它是由StackOverflow上的另一个人写的 - 谢谢:)) 无论如何,它返回两个日期之间的随机日期,但采用这种格式

代码:

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

这可能吗? 感谢

6 个答案:

答案 0 :(得分:5)

在日期上致电ToString()并传递您想要的格式。

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

答案 1 :(得分:3)

查看MSDN文档页面:

Custom date and time format

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

答案 2 :(得分:0)

你可以试试这个:

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

答案 3 :(得分:0)

DateTimes没有格式。相反,它们将日期和时间存储为类型为long的字段内的自公元0001年1月1日午夜12:00以来的100纳秒刻度数。

当您将它们转换为字符串时,该字符串 具有格式。

所以你需要做的是指定你想要作为调用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.

答案 4 :(得分:0)

你可以试试这个

string urdate = RandomDay().Now.ToShortDateString();

答案 5 :(得分:0)

您可以提供格式字符串,例如:

RandomDay().ToString("dd.MM.yyyy:hh.mm.sss")

请参阅Custom Date Time Format Strings