Как отформатировать строковое значение 10072017 до 10.07.2017
как отформатировать строковое значение 10072017 до 10.07.2017
Что я уже пробовал:
как отформатировать строковое значение 10072017 до 10.07.2017
// I'm assuming that 10/07 is 10th July. If it is 7th Oct then swap the dd and MM in // the code below string a = "10072017"; DateTime dt; DateTime.TryParseExact(a, "ddMMyyyy", System.Globalization.CultureInfo.CurrentCulture, DateTimeStyles.None, out dt); string b = dt.ToString("dd/MM/yyyy");
Большое спасибо. он работает идеально
//Assuming date in dd-mm-yyyy format string str = "10072017"; int day = Convert.ToInt32(str.Substring(0,2)); int month = Convert.ToInt32(str.Substring(2, 2)); int year = Convert.ToInt32(str.Substring(4, 4)); DateTime dt = new DateTime(year, month, day); Console.WriteLine("{0:dd/MM/yyyy}", dt);
Если у вас есть начальное значение в первоначальный затем string result=initial.Substring(0,2)+"/"+initial.Subsring(2,2)+"/"+initial.Substring(4,4)
или
string function format(string initial){<br /> return initial.Substring(0,2)+"/"+initial.Subsring(2,2)+"/"+initial.Substring(4,4)<br /> }<br />
Вы могли бы обмануть:
string input = "10072017"; string formatted = input.Substring(0, 2) + "/" + input.Substring(2, 2) + "/" + input.Substring(4);Но лучшим решением было бы преобразовать его в DateTime:
string input = "10072017"; DateTime dt; if (!DateTime.TryParseExact(input, "ddMMyyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt)) { // Report problem to user - bad date. ... return; } string formatted = dt.ToString("dd/MM/yyyy");