有没有一种方法可以格式化日期-时间对象

本文关键字:格式化 日期 对象 时间 方法 一种 有没有 | 更新日期: 2023-09-27 18:21:17

所以上周,我们的应用程序的工作方式是后端团队将日期存储为YYYY-MM-DD格式的字符串。本周,他们将其更改为DateTime对象,而不是字符串。所以现在我只是从我们使用的这个特定DateTime控件的字符串值创建一个DateTime对象。

所以基本上我们的自定义控制是这样的:

mySearchModelObject.fromDate = myDateRangeControl.Values[0]; //string
mySearchModelObject.toDate = myDateRangeControl.Values[1]; //string

现在它更像这样:

DateTime fromDate, toDate;
DateTime.Tryparse(myDateRangeControl.Values[0], out fromDate);
DateTime.Tryparse(myDateRangeControl.Values[1], out toDate);
mySearchModelObject.fromDate = fromDate;
mySearchModelObject.toDate = toDate;

但使用与上周相同的日期范围进行搜索会从DB中得到不同的结果。

我想知道这是否是因为我们的日期是"YYYY-MM-DD"作为字符串,但现在它得到了一个日期-时间对象,无论系统的格式是什么+时间本身。

那么,有没有一种方法可以格式化我的DateTime对象,使其保持相同的YYYY-MM-DD格式?

有没有一种方法可以格式化日期-时间对象

使用DateTime.TryParseExact并提供"yyyy-MM-dd"作为格式字符串。

请参阅http://msdn.microsoft.com/en-us/library/h9b85w22

您可以使用fromDate.ToString("yyyy-MM-dd")将日期格式化为YYYY-MM-DD

请参阅标准和自定义日期时间格式的msdn

请参阅演示https://dotnetfiddle.net/NZz0HG

此外,如果mySearchModelObject.fromDate是object类型,则可以分配DateTime或字符串,而不会出现编译器警告/错误。但当使用mySearchModelObject.fromDate.ToString()时,可能会得到不同的结果,以前是"2014-12-31",现在是12/31/2014 12:00:00 AM