如何格式化字符串以添加' - '数字之间?

时间:2017-02-01 22:44:43

标签: c# .net winforms

var startIndexTimeDate = file.Path.IndexOf("time=") + "time=".Length;
var lengthTimeDate = file.Path.IndexOf("&", startIndexTimeDate) - startIndexTimeDate;
var timeDate = file.Path.Substring(startIndexTimeDate, lengthTimeDate);

我在timeDate中获得的例子是:

  

201702012015

我想将其格式化为:

  

01-02-20-15-2017

每次我都会执行此代码,不仅仅是这个数字。格式应该是这种方式,因为我想创建这种格式的目录。

  

01-02-20-15-2017

然后我想把它从硬盘上读回目录名到List,但这次字符串应格式化为日期时间,例如:

  

" 01/02/2017 20:15"

因此,当我读回来时,我想向用户展示它更好。

硬盘上的目录格式为

  

01-02-20-15-2017

但是当将目录名称返回到List时,格式应为

  

" 01/02/2017 20:15"

1 个答案:

答案 0 :(得分: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