我有一个像这样的字符串:
2013年3月4日或者像这样11/10/2012.这是mm/dd/yyyy格式,我想转换为MM/dd/yyy.我这样做:
DateTime publicationDate = DateTime.ParseExact(myDate, "MM/dd/yyyy", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)
这给我一个错误:
String was not recognized as a valid DateTime.
Run Code Online (Sandbox Code Playgroud)
这里发生了什么?
编辑:
在查看了所有答案后,我想显示DateTime变量的Month和Day.
所以我做不到这样的事情:
string publicationDate = DateTime.ParseExact(myDate, "M/d/yyyy", CultureInfo.InvariantCulture).ToString("MM/dd/yyyy");
Run Code Online (Sandbox Code Playgroud)
有一个字符串将无法解决我的问题,因为我使用此变量只显示日期和月份.当我尝试将此"publicationDate"解析回DateTime时,会截断月份和日期的"0".
希望我在这里说明我的观点.
回答:
string publicationDate = DateTime.ParseExact(myDate, "M/d/yyyy", CultureInfo.InvariantCulture).ToString("MM/dd");
Run Code Online (Sandbox Code Playgroud)
您应该在月和日添加前导零.
这样:04/03/2013
var myDateTime = DateTime.ParseExact(
"03/04/2013",
"MM/dd/yyyy",
System.Globalization.CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)
如果前导零是一个问题,那么:
var myDateTime = DateTime.ParseExact(
"3/4/2013",
"M/d/yyyy",
System.Globalization.CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)
最后,如果要添加前导零:
string myFormattedDateTime = DateTime.ParseExact(
"3/4/2013",
"M/d/yyyy",
System.Globalization.CultureInfo.InvariantCulture)
.ToString("MM/dd/yyyy");
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3662 次 |
最近记录: |