我知道之前已经问过这个问题并使用各种方法解决了 .
我正在将字符串中的值转换为DateTime .
在整个项目中,我使用了相同的CultureInfo,所有字符串都转换为使用Convert.ToDateTime()完成的日期,但现在有一个文本字段拒绝转换 .
我试过了:
string date = "27/02/2013";
string startdated = (Convert.ToDateTime(date)).ToString("yyyy/MM/dd");
(转换为datetime并将其更改为我所需格式的sting . 这在其他所有方面都可以正常工作)
甚至
Datetime dt = Convert.toDateTime(date); doesn't work
DateTime.ParseExact(date, "yyyy/MM/dd", format); doesn't work
并且所有人都给出了相同的错误“字符串未被识别为有效的DateTime . ” . 我从带有ajax日历扩展器的文本框中收到我的日期值(CalendarExtender.Format =“dd / MM / yyyy”用于显示目的,这也适用于其他地方,即“dd / MM / yyyy”用于显示和“yyyy / MM” / dd“for procedure”除了这个最终值,它根本不会改变 . Everthing是通过我的机器完成的,没有外部服务器
2 回答
您的输入字符串格式与您提供DateTime.ParseExact的格式不同 .
为此工作
您必须以年/月/日格式输入日期 . 但你的字符串是日/月/年 .
这应该更好 .
您的日期是
date = "27/02/2013";
,您当前的格式(在DateTime.ParseExact
中)是"yyyy/MM/dd"
, It should be:所以下面的代码应该工作 .
您还可以使用
"d/M/yyyy"
格式来处理单个或两位数的日期/月份 .