C#/windows中的字符串格式

C#/windows中的字符串格式,c#,string,format,string-formatting,C#,String,Format,String Formatting,我的c#应用程序中有一个组件提供如下字符串: “2004/1/11” “2015/12/10” “1998/1/2” 但我想将其更改为以下格式: “2004/01/11” “2015/12/10” “1998/01/02” 有什么想法吗?这可能会帮助您解决问题: 也许时间格式设置可以解决您的问题。这可能会帮助您解决问题: 也许时间格式设置可以解决您的问题。问题中的字符串实际上是日期,在这种情况下,DateTime类就是您想要的: String source = "2015/12/10";

我的c#应用程序中有一个组件提供如下字符串:

“2004/1/11”

“2015/12/10”

“1998/1/2”

但我想将其更改为以下格式:

“2004/01/11”

“2015/12/10”

“1998/01/02”


有什么想法吗?

这可能会帮助您解决问题:


也许时间格式设置可以解决您的问题。

这可能会帮助您解决问题:

也许时间格式设置可以解决您的问题。

问题中的字符串实际上是日期,在这种情况下,
DateTime
类就是您想要的:

  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”;
字符串结果=Regex
.Replace(source),(?问题中的字符串似乎实际上是日期,在这种情况下,
DateTime
类就是您要查找的:

  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”;
字符串结果=Regex

.Replace(source),(?其日期,以便您可以通过这种方式转换它

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 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));
尝试:

   string InputStr = "2004/1/11";
   String OutputStr = String.Format("{0:yyyy/MM/dd}", Convert.ToDateTime(InputStr));

如果您不想将字符串转换为日期或日期,可以使用-方法。代码可能看起来有点像这样:

myString=Regex.Replace(myString,@“[^\d](\d)(?=(/))”,“/0$1”);


编辑:更正了模式。

如果不想将字符串转换为日期或日期,可以使用-方法。代码可能看起来有点像这样:

myString=Regex.Replace(myString,@“[^\d](\d)(?=(/))”,“/0$1”);


编辑:更正了模式。

否…组件用于应用程序的所有部分,我只需更改输出…我想将输出字符串更改为我想要的新格式没有…组件用于应用程序的所有部分,我只需更改输出…我想将输出字符串更改为我不想忽略的新格式
CultureInfo。
.ToString()
中的不变量文化
,或者您可以拥有,比如说,
2004.01.11
(注意点),因为在解析确切的
“yyyy/M/d”
(请注意,仅一个
d
)时,将在上面的输出中使用当前文化-俄语从
“1998/1/2”的角度来看,“yyyyy/M/dd”是比
更好的模式
输入将引发格式异常。请不要在
.ToString()
中忽略
CultureInfo.InvariantCulture
,或者您可以使用,比如说,
2004.01.11
(注意点),因为在解析确切的
“yyyy/M/d”
时,将在上述输出中使用当前区域性-俄语(请注意一个
d
)在查看将引发格式异常的
“1998/1/2”
输入时,是比
“yyyy/M/dd”
更好的模式。反例:
myString=“2015/12/1”
;当
2015/12/01
预期反例:
myString=“2015/12/1”时,输出为
2015/012/01
;当
2015/12/01
预计时,输出为
2015/012/01