Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将字符串转换为DateTime时,字符串未被识别为有效的DateTime_C#_Asp.net_String_Datetime - Fatal编程技术网

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
is
en
我不想指定这种格式
yyyyMMdd HH:mm:ss
而是直接使用这种
mm-dd yyyyyyy HH:mm:ss
格式。它的“en”
CurrentCulture
is
en
的情况如何
CurrentCulture
en
我不想指定此格式
yyyyMMdd HH:mm:ss
而是直接指定此格式