c#日期时间。将时间重置为0
我有dateTime=c#日期时间。将时间重置为0,c#,datetime,C#,Datetime,我有dateTime=2020年3月25日下午1:25:46 我可以将时间重置为零吗2020年3月25日00:00:00 这是一个演示。在这种情况下,日期时间是2020年3月25日12:00:00 AM class Program { static void Main(string[] args) { var datetime = DateTime.Now; datetime = ResetTimeToStartOfDay(datetime);
2020年3月25日下午1:25:46
我可以将时间重置为零吗<代码>2020年3月25日00:00:00
这是一个演示。在这种情况下,日期时间是2020年3月25日12:00:00 AM
class Program
{
static void Main(string[] args)
{
var datetime = DateTime.Now;
datetime = ResetTimeToStartOfDay(datetime);
Console.WriteLine(datetime);
Console.ReadLine();
}
public static DateTime ResetTimeToStartOfDay(DateTime dateTime)
{
return new DateTime(
dateTime.Year,
dateTime.Month,
dateTime.Day,
0, 0, 0, 0);
}
}
如何将日期重置为一天的开始?更简单:
返回日期time.Date;
但是请注意,在DateTime.Now的特定情况下,您可以使用DateTime.Today
如何将日期重置为一天的开始
您已经使用了方法ResetTimeToStartOfDay
,尽管使用功能等效的dateTime.Date
有一种更简单的方法
现在你的问题变成了:
为什么在Console.WriteLine(datetime)时看到3/25/2020 12:00:00 AM
而不是3/25/2020 00:00:00
代码>被调用
当您在DateTime
实例上调用ToString()
时,它隐式地发生在Console.WriteLine(DateTime)中代码>,显示的格式与当前线程的区域性相匹配,然后使用AM/PM
显示时间。如果要将日期显示为3/25/2020 00:00:00
,请显式调用ToString()
,并传递一个likeM/d/yyyy HH:mm:ss
Console.WriteLine(datetime.ToString(“M/d/yyyy HH:mm:ss”)代码>
另请参见FYI上午12点是一天的开始。