C# 将字符串转换为DateTime时,字符串未被识别为有效的DateTime
问题 我正在尝试以C# 将字符串转换为DateTime时,字符串未被识别为有效的DateTime,c#,asp.net,string,datetime,C#,Asp.net,String,Datetime,问题 我正在尝试以DateTime格式转换String,然后再次将DateTime转换为String 案例1 string time = "20120718 00:56:03"; DateTime theTime =DateTime.ParseExact(time,"MM-dd-yyyy HH:mm:ss",CultureInfo.InvariantCulture,DateTimeStyles.None); string convertedTime = theTime.ToString("MM-
DateTime
格式转换String
,然后再次将DateTime
转换为String
案例1
string time = "20120718 00:56:03";
DateTime theTime =DateTime.ParseExact(time,"MM-dd-yyyy HH:mm:ss",CultureInfo.InvariantCulture,DateTimeStyles.None);
string convertedTime = theTime.ToString("MM-dd-yyyy HH:mm:ss");
案例2
string time = "20120718 00:56:03";
string CallDate_DBFormat = Convert.ToDateTime(time).ToString("MM-dd-yyyy HH:mm:ss");
DateTime CallTime = Convert.ToDateTime(CallDate_DBFormat);
string convertedTime = CallTime.ToString("MM-dd-yyyy HH:mm:ss");
在这两种情况下,我都得到一个例外
字符串未被识别为有效的日期时间
来自
将日期和时间的指定字符串表示形式转换为其
使用指定格式和特定区域性的DateTime等效项
格式信息字符串表示形式的格式必须匹配
指定的格式完全相同。
在你的情况下,它们不是。改用yyyyMMdd HH:mm:ss
格式
string time = "20120718 00:56:03";
DateTime theTime = DateTime.ParseExact(time,"yyyyMMdd HH:mm:ss",
CultureInfo.InvariantCulture,
DateTimeStyles.None);
string convertedTime = theTime.ToString("MM-dd-yyyy HH:mm:ss");
第二种情况,我们需要知道你的财产。为什么?
因为此方法使用带有CurrentCulture
的方法。这是怎么回事
可能yyyyMMdd HH:mm:ss
格式不是您的CurrentCulture
的标准日期和时间格式,这就是此方法抛出的原因。From
将日期和时间的指定字符串表示形式转换为其
使用指定格式和特定区域性的DateTime等效项
格式信息字符串表示形式的格式必须匹配
指定的格式完全相同。
在你的情况下,它们不是。改用yyyyMMdd HH:mm:ss
格式
string time = "20120718 00:56:03";
DateTime theTime = DateTime.ParseExact(time,"yyyyMMdd HH:mm:ss",
CultureInfo.InvariantCulture,
DateTimeStyles.None);
string convertedTime = theTime.ToString("MM-dd-yyyy HH:mm:ss");
第二种情况,我们需要知道你的财产。为什么?
因为此方法使用带有CurrentCulture
的方法。这是怎么回事
可能
yyyyMMdd HH:mm:ss
格式不是您的CurrentCulture
的标准日期和时间格式,这就是此方法抛出的原因。请这样做。您设置的格式无效,无法将字符串解析为DateTime
查看DateTime
字符串格式
string time = "20120718 00:56:03";
DateTime theTime =DateTime.ParseExact(time,"yyyyMMdd HH:mm:ss",CultureInfo.InvariantCulture,DateTimeStyles.None);
string convertedTime = theTime.ToString("MM-dd-yyyy HH:mm:ss");
像这样做。您设置的格式无效,无法将字符串解析为
DateTime
查看DateTime
字符串格式
string time = "20120718 00:56:03";
DateTime theTime =DateTime.ParseExact(time,"yyyyMMdd HH:mm:ss",CultureInfo.InvariantCulture,DateTimeStyles.None);
string convertedTime = theTime.ToString("MM-dd-yyyy HH:mm:ss");
使用以下命令:
string time = "20120718 00:56:03";
DateTime theTime = DateTime.ParseExact(time, "yyyyMMdd HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None);
string convertedTime = theTime.ToString("yyyy-dd-MM HH:mm:ss");
使用以下命令:
string time = "20120718 00:56:03";
DateTime theTime = DateTime.ParseExact(time, "yyyyMMdd HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None);
string convertedTime = theTime.ToString("yyyy-dd-MM HH:mm:ss");
查看您指定的格式。。。然后查看数据的实际格式。您的
CurrentCulture
是什么?CurrentCulture
是en
@aa003有13个区域名称以en
开头。到底是哪一种?它的“en”
看看你指定的格式。。。然后查看数据的实际格式。您的CurrentCulture
是什么?CurrentCulture
是en
@aa003有13个区域名称以en
开头。确切地说是哪一个?它的“en”是en
那么case#2呢CurrentCulture
isen
我不想指定这种格式yyyyMMdd HH:mm:ss
而是直接使用这种mm-dd yyyyyyy HH:mm:ss
格式。它的“en”CurrentCulture
isen
的情况如何CurrentCulture
是en
我不想指定此格式yyyyMMdd HH:mm:ss
而是直接指定此格式