C# 中的字符串格式 / windows
String Format In C# / windows
我的 C# 应用程序中有一个组件提供如下字符串:
"2004/1/11"
"2015/12/10"
"1998/1/2"
但我想将它们更改为这些格式:
"2004/01/11"
"2015/12/10"
"1998/01/02"
有什么想法吗?
这可能会帮助您解决问题:
https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx
也许时间格式设置可以解决您的问题。
看来问题中的字符串实际上是日期,那么DateTime
class是您要找的:
String source = "2015/12/10";
String result = DateTime
.ParseExact(source, "yyyy/M/d", CultureInfo.InvariantCulture)
.ToString("yyyy/MM/dd", CultureInfo.InvariantCulture);
万一 字符串 是 而不是日期 (比如,一些看起来像日期的奇怪代码)而你只需要 插入零:
String source = "2015/12/10";
String result = Regex
.Replace(source, "(?<=/)[0-9](?![0-9])", match => "0" + match.Value);
它的日期所以你可以这样转换它
string str = "2004/1/11";
DateTime dt = DateTime.ParseExact(str, "yyyy/M/dd", CultureInfo.InvariantCulture);
string newstr = dt.ToString("yyyy/MM/dd", CultureInfo.InvariantCulture)
尝试:
string InputStr = "2004/1/11";
String OutputStr = String.Format("{0:yyyy/MM/dd}", Convert.ToDateTime(InputStr));
如果您不想将字符串转换为日期并返回,您可以使用 Regex.Replace 方法。代码可能看起来像这样:
myString = Regex.Replace(myString,@"[^\d](\d)(?=(/|$))","/0");
编辑:更正了模式。
我的 C# 应用程序中有一个组件提供如下字符串:
"2004/1/11"
"2015/12/10"
"1998/1/2"
但我想将它们更改为这些格式:
"2004/01/11"
"2015/12/10"
"1998/01/02"
有什么想法吗?
这可能会帮助您解决问题: https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx
也许时间格式设置可以解决您的问题。
看来问题中的字符串实际上是日期,那么DateTime
class是您要找的:
String source = "2015/12/10";
String result = DateTime
.ParseExact(source, "yyyy/M/d", CultureInfo.InvariantCulture)
.ToString("yyyy/MM/dd", CultureInfo.InvariantCulture);
万一 字符串 是 而不是日期 (比如,一些看起来像日期的奇怪代码)而你只需要 插入零:
String source = "2015/12/10";
String result = Regex
.Replace(source, "(?<=/)[0-9](?![0-9])", match => "0" + match.Value);
它的日期所以你可以这样转换它
string str = "2004/1/11";
DateTime dt = DateTime.ParseExact(str, "yyyy/M/dd", CultureInfo.InvariantCulture);
string newstr = dt.ToString("yyyy/MM/dd", CultureInfo.InvariantCulture)
尝试:
string InputStr = "2004/1/11";
String OutputStr = String.Format("{0:yyyy/MM/dd}", Convert.ToDateTime(InputStr));
如果您不想将字符串转换为日期并返回,您可以使用 Regex.Replace 方法。代码可能看起来像这样:
myString = Regex.Replace(myString,@"[^\d](\d)(?=(/|$))","/0");
编辑:更正了模式。