我想转换字符串" 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());
}
答案 0 :(得分:2)
字符串格式由String.Format
方法执行,而不是Convert.ToString
。 Convert
方法尝试使用当前文化的默认格式将一种类型转换为另一种类型。
尝试以下
String.Format(CultureInfo.InvariantCulture,"dd-MMM-yyyy",someDate);
这将确保使用英文月份名称。
在非英语文化中,以下行将返回本地月份名称
String.Format("dd-MMM-yyyy",someDate);