有没有办法格式化日期时间对象?

时间:2014-09-09 15:17:04

标签: c# datetime .net-3.5 format

所以上周,我们的应用程序的工作方式是后端团队将日期存储为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;

但使用与上周相同的日期范围进行搜索会产生与数据库不同的结果。

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

那么有没有办法将我的DateTime对象格式化为仍然使用相同的YYYY-MM-DD格式?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

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

请参阅standard上的msdn和custom日期时间格式

参见演示https://dotnetfiddle.net/NZz0HG

如果mySearchModelObject.fromDate属于object类型,则可以指定DateTime或字符串,无编译器警告/错误。 但是当使用时,可能会使用mySearchModelObject.fromDate.ToString()得到不同的结果,之前是“2014-12-31”,现在是12/31/2014 12:00:00 AM