更改c#中的日期时间格式

本文关键字:时间 格式 日期 更改 | 更新日期: 2023-09-27 18:14:42

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

这可能吗?由于

更改c#中的日期时间格式

在日期上调用ToString()并传递所需的格式。

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

查看MSDN文档页面:

自定义日期和时间格式

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

你可以试试这个吗:

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

日期时间没有格式。相反,它们将日期和时间存储为从公元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格式字符串的信息,例如在此回答中使用的字符串

你可以试试这个

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

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

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

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