Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何格式化字符串以添加'-';在数字之间?_C#_.net_Winforms - Fatal编程技术网

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

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 但是当将目录名返回到列表时,格式应该是

例如,我在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”


我建议您从字符串中解析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(“…”)