如何从日期时间中删除时间并以datetime格式存储输出?我不想表明时间。
说我有
string d = "2/27/2013 4:18:53 PM"
如何将输出存储在仅包含日期而非时间的DateTime变量中。
我可以使用ToShortDateString()但它返回一个字符串而不是datetime。
我的最终目标是按时间顺序对日期列进行排序,只有在所有条目都采用日期时间格式且不是字符串时才能完成。
答案 0 :(得分:9)
DateTime
结构的Date
属性会给你一个日期,但它总是有一个表示午夜(“00:00:00”)的时间组件。如果你是从一个字符串开始,你可以使用这样的东西:
DateTime d = DateTime.Parse("2/27/2013 4:18:53 PM").Date; // 2/27/2013 12:00:00 AM
请确保您对DateTime
个对象进行比较(即省略ToString()
的所有用法)。
或者,您可以在"sortable" time format:
中设置日期格式string d = DateTime.Parse("2/27/2013 4:18:53 PM").ToString("s");
或
string d = yourDateTime.ToString("s");
对于上述情况,d
将是2013-02-27T16:18:53
。按字母顺序排序时,字符串将按时间顺序排列。
答案 1 :(得分:3)
DateTime dt = DateTime.now(); (To get Any Date)
string datewithMonth= dt.ToString("MMMM dd, yyyy");
string onlyDate = DateTime.Parse(datewithMonth).ToShortDateString();
这里我们得到1/1/2014
的结果。这样我们就可以在sql上执行select操作:
searchQuery = "select * from YourTableName where ColumnName = ' " + onlyDate + " ' ";
答案 2 :(得分:1)
这很简单:
d.ToString("mm/dd/yyyy");
DateTime date = DateTime.Parse(d);
答案 3 :(得分:1)
如何消除文化中的时间: -
var submissionDateData = DateTime.Now.ToShortDateString();
var submissionDate = DateTime.Parse(submissionDateData, CultureInfo.CreateSpecificCulture("en-GB"));
第一行给出了02/11/2015
第二行提供11/02/2015 12:00:00 AM
你是否必须对此进行字符串拆分或有办法摆脱时间?