我的项目中有一个文本框,用户在其中输入日期,例如ddmmyyyy
。我需要将其转换为dd-mm-yyyy
格式,以便我可以从数据库中获取特定数据。
您可以
先将string
解析为DateTime
,然后使用该格式生成其字符串表示形式。
例如;
var s = "11062016";
var dt = DateTime.ParseExact(s, "ddMMyyyy", CultureInfo.InvariantCulture);
Console.WriteLine(dt.ToString("dd-MM-yyyy", CultureInfo.InvariantCulture));
顺便说一句,我假设你想说MM
而不是mm
mm
因为说明符是几分钟,但MM
说明符是几个月。
另一方面,您从未告诉要获取的数据,但是,使用字符串获取DateTime
值(如果有的话)不是一个好主意。使用 DateTime 值从数据库(大多数 RDMS 支持)中获取 DateTime 数据,而不是字符串。
尝试
string str = "06112016";
DateTime date = new DateTime();
DateTime.TryParseExact(str, "ddMMyyyy", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out date);
string FormattedDate = date.ToString("MM-dd-yyyy");