如何在C#中从字符串中间删除两个字符并替换?

3

我有一个字符串像这样 25/05/2016,现在我想要得到一个字符串像这样 25/05/16 和像这样 25-05-2016,如何在C#中实现。


源字符串是否总是以DD/MM/YYYY格式呈现?如果是,您可以将源字符串转换为“DateTime”,然后将其格式化为任何您喜欢的表示形式。 - Quality Catalyst
抱歉有些混淆,它的格式类似于DD/MM/YYYY。 - bill
4个回答

16

不要使用字符串处理,正确解析日期:

var date = DateTime.Parse("25/05/2016");

var date1 = date.ToString("dd/MM/yy");   <-- 25/05/16
var date2 = date.ToString("dd-MM-yyyy"); <-- 25-05-2016

我在第一行遇到了一个小问题:“String was not recognized as a valid DateTime.”。 - bill
@bill - 你需要确保在解析时使用了正确的全球化文化。 - Enigmativity
K,顺便说一句谢谢,我已经找到答案了。 - bill

0

Nitin的回答是解决你问题的最佳方案。

但如果它不是一个日期,你可以将字符串转换为字节数组,修改所需的字符,然后再将其转换回字符串。


0
您可以始终使用字符串操作:
var source = "25/05/2016";
var result1 = String.Join("/", source.Split('/').Select(x => x.Substring(x.Length - 2, 2)));
var result2 = source.Replace("/", "-");

以下是正确的结果:

25/05/16
25-05-2016

0

这是我所做的

 string s = "25/05/2016";

 var date = DateTime.ParseExact(s, "dd/MM/yyyy",null);
 var date1 = date.ToString("dd/MM/yy");
 var date2 = date.ToString("dd-MM-yyyy");

帮助记录了 @Nitin 的回答和 this 的stackoverflow问题


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接