我想要计算表单日期和两个date..Am之间的日期差异,使用timespan来计算两个日期之间的差异,如果日期差异为正意味着它进入另一个进程,意味着它返回错误消息。
我的部分代码在这里..
TimeSpan span = Convert.ToDateTime(txtenddate.Text).Subtract(Convert.ToDateTime(txtstartdate.Text));
int formatted = span.Days;
if (formatted < 1)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "temp", "<script language='javascript'>alert('Invalid date difference ');</script>", false);
} 以上代码输入的是结束日期: 30-01-2004开始日期: 01-02-2002
但它返回错误消息:字符串未被识别为有效的DateTime。
请给我一个不改变日期格式的解决方案...
发布于 2012-02-27 13:53:02
您应该使用ParseExact来获取相关的DateTime。
TimeSpan ts = DateTime.ParseExact("30-01-2004", "dd-MM-yyyy", System.Globalization.CultureInfo.InvariantCulture)
- DateTime.ParseExact("01-02-2002", "dd-MM-yyyy", System.Globalization.CultureInfo.InvariantCulture);当使用Convert.ToDateTime时,它调用DateTime.Parse,它将尝试与您当前的区域性设置相对应的转换,因为在本例中,它不支持您拥有的DateTime的格式,因此您应该依赖于ParseExact,通过它您可以知道字符串的预期格式,并在获取结果时实现。
https://stackoverflow.com/questions/9460521
复制相似问题