我有一个字符串,我想将它从字符串转换为日期时间。当我尝试给予例外时。 请建议我怎么做。
string stime = "2014-02-02T24:00:00";
DateTime dtStartDateTime = Convert.ToDateTime(stime);
答案 0 :(得分:0)
这很有用 - 它与DateTime.Parse
,BUT
如果解析成功,则返回true
,否则返回false
。
protected void Foo()
{
// Use DateTime.TryParse when input is valid.
string input = "2014-02-02T04:00:00";//"2014-02-02";
DateTime dateTime;
if (DateTime.TryParse(input, out dateTime))
{
lblresult.Text = dateTime.ToString();
}
else {
lblresult.Text = "invalid";
}
}
<强> See Here 强>
答案 1 :(得分:-1)
遗憾的是,所有答案都是错误的。我真的很震惊甚至没有人测试他们的例子。
.NET不支持24
一小时。无法使用DateTime.ParseExact
方法解析字符串。但NodaTime就是这样做的。 可以解析值,但是将值解析为第二天的午夜。这可能是因为一小时没有标准24:00
。
来自Wikipedia;
在24小时时间表示法中,日期从午夜00:00开始 当天的最后一分钟从23:59开始。哪里方便, 符号24:00也可用于指代结束时的午夜 给定日期 - 即,一天的24:00与00:00的同一时间 第二天。
我现在无法安装 NodaTime 我安装了NodaTime和但是这个例子可能正常工作有效。
using System;
using NodaTime;
using NodaTime.Text;
using System.Xml;
class Test
{
static void Main()
{
string s = "2014-02-02T24:00:00";
var pattern = LocalDateTimePattern.CreateWithInvariantCulture
("yyyy-MM-dd'T'HH:mm:ss");
var dt = pattern.Parse(s).Value;
Console.WriteLine(pattern.Format(dt)); // 2014-02-03T00:00:00
}
}