C# 如何格式化字符串以添加'-';在数字之间?
例如,我在timeDate中得到的是: 201702012015 我想将其格式化为: 01-02-20-15-2017 不只是为了这个号码每次我都会做这个代码。格式应该是这样的,因为我想创建一个这种格式的目录 01-02-20-15-2017 然后,我想从硬盘将其从目录名读回列表,但这次字符串的格式应为日期时间,例如: “2017年2月1日20:15” 所以,当我把它读回来时,我想把它更好地展示给用户 硬盘上的目录格式为 01-02-20-15-2017 但是当将目录名返回到列表时,格式应该是 “2017年2月1日20:15”C# 如何格式化字符串以添加'-';在数字之间?,c#,.net,winforms,C#,.net,Winforms,例如,我在timeDate中得到的是: 201702012015 我想将其格式化为: 01-02-20-15-2017 不只是为了这个号码每次我都会做这个代码。格式应该是这样的,因为我想创建一个这种格式的目录 01-02-20-15-2017 然后,我想从硬盘将其从目录名读回列表,但这次字符串的格式应为日期时间,例如: “2017年2月1日20:15” 所以,当我把它读回来时,我想把它更好地展示给用户 硬盘上的目录格式为 01-02-20-15-2017 但是当将目录名返回到列表时,格式应该是
我建议您从字符串中解析DateTime对象,然后以您想要的任何方式对其进行格式化:
var startIndexTimeDate = file.Path.IndexOf("time=") + "time=".Length;
var lengthTimeDate = file.Path.IndexOf("&", startIndexTimeDate) - startIndexTimeDate;
var timeDate = file.Path.Substring(startIndexTimeDate, lengthTimeDate);
然后在读取目录时执行相同的操作
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
我建议您从字符串中解析DateTime对象,然后以您想要的任何方式对其进行格式化:
var startIndexTimeDate = file.Path.IndexOf("time=") + "time=".Length;
var lengthTimeDate = file.Path.IndexOf("&", startIndexTimeDate) - startIndexTimeDate;
var timeDate = file.Path.Substring(startIndexTimeDate, lengthTimeDate);
然后在读取目录时执行相同的操作
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
听起来您应该将
timeDate
设置为DateTime
对象,而不是字符串对象。通过这种方式,您可以根据传递给timeDate的内容获得所需的所有格式。ToString(“…”
听起来应该将timeDate
设置为DateTime
对象,而不是字符串对象。这样,您就可以根据传入timeDate.ToString(“…”)