C# 在C中将字符串转换为DateTime#
我正在尝试将一个字符串转换为DateTime几个小时, 绳子看起来像这样C# 在C中将字符串转换为DateTime#,c#,datetime,C#,Datetime,我正在尝试将一个字符串转换为DateTime几个小时, 绳子看起来像这样 “20140519-140324”我知道它是UTC的 我已经试过了 DateTime ourDateTime; bool success = DateTime.TryParseExact(Date, "yyyy-MM-dd-HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal, out o
“20140519-140324”
我知道它是UTC的
我已经试过了
DateTime ourDateTime;
bool success = DateTime.TryParseExact(Date, "yyyy-MM-dd-HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal, out ourDateTime);
StartTime.Text = ourDateTime.ToString("g");
还有这个
DateTime ourDateTime= DateTime.ParseExact(Date, "yyyy-MM-dd-HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture);
StartTime.Text = ourDateTime.ToString("g");
但这些都不管用。我做得不好的地方是什么?来自
将日期和时间的指定字符串表示形式转换为其
日期时间等价物字符串表示形式的格式必须为
精确匹配指定格式。
在你的例子中,它们不是。改用与字符串完全匹配的yyyyMMdd HHmmss
自定义格式
这里有一个例子
这里有一个
由于同样的原因,您的DateTime.ParseExact
示例也无法工作
了解更多信息
yyyyMMdd HHmmss
自定义格式
这里有一个例子
这里有一个
由于同样的原因,您的DateTime.ParseExact
示例也无法工作
了解更多信息
DateTime ourDateTime;
bool success = DateTime.TryParseExact(Date, "yyyyMMdd-HHmmss", System.Globalization.CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal, out ourDateTime);
if(success) {
StartTime.Text = ourDateTime.ToString("g");
}
您在TryParseExact方法中使用了错误的格式。 format参数应该是输入字符串格式的指示符。 因此,您需要执行以下操作:
DateTime ourDateTime;
bool success = DateTime.TryParseExact(Date, "yyyyMMdd-HHmmss", System.Globalization.CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal, out ourDateTime);
if(success) {
StartTime.Text = ourDateTime.ToString("g");
}
如果您确定日期始终采用yyyyMMdd格式,那么请尝试拆分字符串,然后进行处理。如果使用yyyyMMdd HHmmss进行字符串处理,会怎么样?@RamyMohamed:当
DateTime.ParseExact
接受格式字符串时,为什么要拆分字符串?@JonSkeet谢谢通知我在这里找到了您的建议,因为我几乎没有遇到需要接收这样一种日期格式的情况,所以我的脑子里一片空白。@Rammohamed:但OP显然需要,而且已经知道了ParseExact
。将日期/时间字符串拆分为位并手动解析每个部分几乎从来都不是正确的解决方案。如果您确定日期始终采用YYMMDD格式,那么请尝试拆分字符串,然后处理它。如果使用yyyyMMdd HHmmss进行拆分,会怎么样?@ramymhamed:为什么拆分字符串,当DateTime.ParseExact
接受格式字符串时?@JonSkeet感谢您的通知,我在这里找到了您的建议,但由于我几乎没有遇到需要接收这种日期格式的情况,所以我忘记了。@RamyMohamed:但OP显然接受了-并且已经知道ParseExact
。将日期/时间字符串拆分为位并手动解析每个部分几乎从来都不是正确的解决方案。非常感谢大家,很多人都正确地回答了这个问题,我希望我可以将所有的注释标记为答案,我有点认为YY-MM-dd是绝对可以这样键入的。无论如何,干杯并感谢大家。非常感谢大家,很多人回答正确,我希望我能把所有的评论都标记为答案,我有点认为YY-MM-dd是绝对可以这样打字的。无论如何,干杯,谢谢大家。