如何在C#中将日期转换为字符串格式到日期格式?
我正在尝试将此(“2019-09-09”(yyyy-MM-dd))字符串转换为日期格式。我正在使用如何在C#中将日期转换为字符串格式到日期格式?,c#,asp.net,C#,Asp.net,我正在尝试将此(“2019-09-09”(yyyy-MM-dd))字符串转换为日期格式。我正在使用DateTime.ParseExact方法,但它没有提供预期的输出 string transactionDateFrom = "2019-09-09"; var provider = CultureInfo.InvariantCulture; var c = DateTime.ParseExact(transactionDateFrom, "yyyy-MM-dd", provider); 但它将输
DateTime.ParseExact
方法,但它没有提供预期的输出
string transactionDateFrom = "2019-09-09";
var provider = CultureInfo.InvariantCulture;
var c = DateTime.ParseExact(transactionDateFrom, "yyyy-MM-dd", provider);
但它将输出显示为(09/09/2019 12:12Am),我只需要(yyyy-MM-dd)这样的格式,并且它必须是日期格式而不是字符串。您还应该为ToString或任何时候使用它提供格式,因为现在您只使用它进行解析 您也可以通过以下方式编辑区域性:
CultureInfo culture=(CultureInfo)CultureInfo.CurrentCulture.Clone();
culture.DateTimeFormat.ShortDatePattern=“yyyy-MM-dd”;
culture.DateTimeFormat.LongTimePattern=“yyyy-MM-dd”;
您应该使用DateTime.TryParseExact
或使用DateTime.TryParse
指定适当的文化信息。
(例如,用户的文化。)
您可以使用DateTime.ParseExact
方法重载,并可以指定精确格式和适当(使用/作为日期分隔符)区域性信息
还要注意M和MM说明符之间的差异。
对于一位数的月数,MM说明符将生成前导为零的月数(如09),但M说明符不会
string strDate = "2019-09-28";
DateTime date = DateTime.ParseExact(strDate, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture);
string Format = date.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture);
或
string strDate = "2019-9-28";
DateTime date = DateTime.ParseExact(strDate, "yyyy-M-dd", System.Globalization.CultureInfo.InvariantCulture);
string Format = date.ToString("yyyy-M-dd", CultureInfo.InvariantCulture);
你说没有给我预期的产出是什么意思?您有一个日期的字符串表示形式,并且希望对其进行解析,以便创建该日期的
DateTime
表示形式。你已经试过了就够了。如果需要从DateTime
获取已创建的DateTime对象的字符串表示形式,则应通过将其作为参数传递给ToString
方法来定义输出的格式。e、 g.c.ToString(“yyyy-MM-dd”)
。我无法复制您的结果。我没有时间得到日期。你用什么来查看c
的值?此外,正如@PeterSmith所指出的,从你共享的代码来看,2019年9月9日12:12Am无法复制。因此,如果您有任何其他代码,请共享。感谢上面的代码工作正常,问题将是输出/显示datetime
变量的代码行,您需要在其中指定格式。因此,请与我们分享输出此日期时间的代码部分。datetime
没有格式。在显示时,需要使用dateTime.ToString(format)