我的项目中有一个用户输入日期的文本框,如ddmmyyyy
。我需要将其转换为dd-mm-yyyy
格式,以便我可以从数据库中获取特定数据。
答案 0 :(得分:1)
您可以先将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数据,而不是字符串。
答案 1 :(得分:0)
尝试
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");