格式化字符串到特定日期时间

时间:2014-11-28 09:02:18

标签: c# datetime

我想转换字符串" 2015/07/05"格式为08-MAR-2015。 下面的代码一直被检测为无效的日期时间格式(即下面的else语句)

C#代码

string format = "dd-MMM-yyyy";
string dateString = "2015/07/05";
DateTime dateTime;
if (DateTime.TryParseExact(dateString, format, CultureInfo.InvariantCulture,DateTimeStyles.None, out dateTime))
{
MessageBox.Show(Convert.ToString(dateTime));
}
else // Invalid datetime format
{
MessageBox.Show("UBD date is not a valid date format: " + dateTime.ToString());
}  

1 个答案:

答案 0 :(得分:2)

字符串格式由String.Format方法执行,而不是Convert.ToStringConvert方法尝试使用当前文化的默认格式将一种类型转换为另一种类型。

尝试以下

String.Format(CultureInfo.InvariantCulture,"dd-MMM-yyyy",someDate);

这将确保使用英文月份名称。

在非英语文化中,以下行将返回本地月份名称

String.Format("dd-MMM-yyyy",someDate);