我有一个字符串来自Griview单元。该字符串的值为Jul 11, 2019
。我需要将其转换为yyyy-MM-dd
格式,但是在尝试转换时出现错误。
到目前为止,我已经尝试了以下方法:
DateTime.ParaExact(Startdatebefore, "yyyy-MM-dd",Null)
String.Convert("yyyy-MM-dd")
这是上下文的代码示例:
string Startdatebefore = item.Cells[4].Text;
string StartDate = DateTime.ParseExact(Startdatebefore, "yyyy-MM-dd", null).ToString();
---- // The second way of trying to convert is below and this also is not working.
DateTime EndDate = Convert.ToDateTime(item.Cells[4].Text);
string EndDatedone = EndDate.ToString("yyyy-MM-dd");
但是我仍然遇到错误。
我在哪里出错?我在Stack和Google上检查了很多问题,但大多数问题之前都是数字日期格式,与我遇到的错误不符。如果您有任何疑问,请告诉我。
答案 0 :(得分:2)
字符串“ Jul 11,2019”应该可以通过正常的DateTime解析器进行解析。然后,您可以将所需的格式提供给DateTime的ToString方法。
var formatted = DateTime.Parse("Jul 11, 2019").ToString("yyyy-MM-dd");
Console.WriteLine(formatted); // 2019-07-11
答案 1 :(得分:0)
//get the string
string Startdatebefore = item.Cells[4].Text;
// Parse to DateTime using the original **source** format:
DateTime StartDate = DateTime.ParseExact(Startdatebefore, "MMM dd, yyyy", null);
// create the string from the DateTime using the **target** format
Startdatebefore = StartDate.ToString("yyyy-MM-dd");
或一行:
string Startdatebefore = DateTime.ParseExact(Startdatebefore, "MMM dd, yyyy", null).ToString("yyyy-MM-dd");
最后一点:如果您这样做是为了将其包含在SQL语句中,那么您所做的事情非常错误。