Member 12857358 Ответов: 4

Как отформатировать строковое значение 10072017 до 10.07.2017


как отформатировать строковое значение 10072017 до 10.07.2017

Что я уже пробовал:

как отформатировать строковое значение 10072017 до 10.07.2017

4 Ответов

Рейтинг:
29

F-ES Sitecore

// 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");


Member 12857358

Большое спасибо. он работает идеально

Рейтинг:
2

Tari_

//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);


Рейтинг:
1

Member 7870345

Если у вас есть начальное значение в первоначальный затем
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 />


Рейтинг:
0

OriginalGriff

Вы могли бы обмануть:

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");