-3

嘿,我在 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

这可能吗?谢谢

4

6 回答 6

5

调用ToString()日期并传递您想要的格式。

var formatted = date.ToString("dd.MM.yyyy:HH:mm.fff");
于 2013-05-22T09:18:04.937 回答
3

查看 MSDN 文档页面:

自定义日期和时间格式

string formattedDate = DateTime.Now.ToString("dd.MM.yyyy:HH:mm:ss:fff");
于 2013-05-22T09:18:26.427 回答
0

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

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

请参阅自定义日期时间格式字符串

于 2013-05-22T09:38:41.570 回答
0

你可以试试这个

string urdate = RandomDay().Now.ToShortDateString();
于 2013-05-22T09:37:48.947 回答
0

你可以试试这个:

string urdate = RandomDay().ToString("dd.MM.yyyy:HH:mm.fff");
于 2013-05-22T09:19:44.277 回答
0

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

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

所以你需要做的是指定你想要的格式作为调用的参数DateTime.ToString()

在您的情况下,正确的格式由 指定"dd.MM.yyyy:HH:mm.fff",因此您可以通过以下方式实现您想要的:

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

有关 DateTime.ToString() 的信息,请参见此处

有关自定义 DateTime 格式字符串(例如此答案中使用的字符串)的信息,请参见此处。

于 2013-05-22T09:20:52.460 回答