string aa = txtsd.Text;
string bb = txtendd.Text;
DateTime dt1 = Convert.ToDateTime(aa);
DateTime dt2 = Convert.ToDateTime(bb);
//DateTime dt2 = Convert.ToDateTime(bb,System.Globalization.CultureInfo.GetCultureInfo("ur-PK").DateTimeFormat);
//DateTime dt2 = DateTime.ParseExact(txtendd.Text.ToString(), "dd/MM/yyyy", CultureInfo.InvariantCulture);
TimeSpan ts = (dt1 - dt2);
以上我尝试过的代码是用于计算两个日期的,但是我不断遇到两个错误可以帮助我解决两个错误。
错误- 1]日历System.Globalization.GregorianCalendar不支持由字符串表示的DateTime。 2]无法将字符串识别为有效的日期时间。
答案 0 :(得分:1)
您正在寻找的方法
这是来自用户输入的,我建议使用Try
变体
一个示例,如果您知道该格式,而不是您的区域性默认格式
var stringDateTime = "15/01/2013";
DateTime date;
if(DateTime.TryParseExact(stringDateTime, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out date))
{
// awesome lets do something
}
答案 1 :(得分:0)
string aa = "15/01/2000";
string bb = "20/01/2000";
DateTime dt1 = DateTime.ParseExact(aa, "dd/MM/yyyy", null);
DateTime dt2 = DateTime.ParseExact(bb, "dd/MM/yyyy", null);
TimeSpan ts = (dt1 - dt2);
Console.WriteLine($"Difference: {ts.Days}");
Console.ReadKey();