2017-02-01 2 views
0
var startIndexTimeDate = file.Path.IndexOf("time=") + "time=".Length; 
var lengthTimeDate = file.Path.IndexOf("&", startIndexTimeDate) - startIndexTimeDate; 
var timeDate = file.Path.Substring(startIndexTimeDate, lengthTimeDate); 

Что я получаю в timeDate для примера:Как я могу форматировать строку, чтобы добавить '-' между цифрами?

И я хочу, чтобы отформатировать его, чтобы быть:

01-02-20- 15-2017

Не только для этого номера за каждый раз я сделаю этот код. Формат должен быть таким, так как я хочу создать каталог этого формата.

01-02-20-15-2017

Тогда я буду хотеть прочитать его обратно с жесткого диска имя каталога в списке, но на этот раз строка должна быть в формате в качестве даты время, например:

«01/02/2017 в 20:15»

Так что, когда я прочитал его обратно я хочу, чтобы отобразить его лучше для пользователя.

каталог на жестком диске будет в формате

01-02-20-15-2017

но при получении имени каталога обратно в список формат должен быть

"01/02/2017 20:15"

+2

звучит, как вы должны сделать ' timeDate' a 'DateTime' вместо строкового объекта. Таким образом, вы можете иметь все нужные форматы в зависимости от того, что вы передаете 'timeDate.ToString (" ... ")' –

ответ

4

Я хотел бы предложить вам разобрать DateTime объект из строки, и после этого формата в любом случае вы хотите:

var s = "201702012015"; 
var date = DateTime.ParseExact(s, "yyyyMMddHHmm", CultureInfo.InvariantCulture); 
var dirName = date.ToString("dd-MM-HH-mm-yyyy"); //01-02-20-15-2017 

Затем сделать то же самое при чтении Адресной книги

var date = DateTime.ParseExact(dirName, "dd-MM-HH-mm-yyyy", CultureInfo.InvariantCulture); 
var nameInList = date.ToString("dd/MM/yyyy a\\t HH:mm"); //01/02/2017 at 20:15 
Смежные вопросы