字符串未被识别为c#的有效日期时间
本文关键字:有效日期 时间 识别 字符串 | 更新日期: 2023-09-27 18:09:44
我创建了一个web应用程序,它在localhost
上工作良好,但当我上传web应用程序时,我在日历上得到一个错误
字符串未被识别为有效的日期时间。
Line 1291: string strstartdate = "";
Line 1292: strstartdate = txtfrmdate.Text;
Line 1293: DateTime dt = Convert.ToDateTime(strstartdate);
Line 1294: string strfstartdate = dt.ToString(strstartdate);
Line 1295: DateTime dtnew = Convert.ToDateTime(strfstartdate);
它在日期范围(1/12)下工作正常,但是当我选择日期在(13/31)之间时,我得到这个错误。
这是选择的内容(13-09-2016
)
My c# page
string strstartdate = "";
strstartdate = txtfrmdate.Text;
DateTime dt = Convert.ToDateTime(strstartdate);
string strfstartdate = dt.ToString(strstartdate);
DateTime dtnew = Convert.ToDateTime(strfstartdate);
SqlCommand cmd = new SqlCommand("csuvdaterange");
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = con;
con.Open();
SqlParameter[] param =
{
new SqlParameter("@logintype",com.ToString()),
new SqlParameter("@name",lblempname.Text),
new SqlParameter("@datefrm",DateTime.ParseExact(txtfrmdate.Text, "dd-MM-yyyy", CultureInfo.InvariantCulture).ToString("yyyy-MM-dd")),
new SqlParameter("@dateto",DateTime.ParseExact(txttodate.Text,"dd-MM-yyyy",CultureInfo.InvariantCulture).ToString("yyyy-MM-dd"))
};
web服务器上的CurrentCulture
似乎是US,并且您的文本不是月在日之前的格式-它推断一个月13,这不是一个有效的日期。
你应该用同样的方式解析日期,就像你在后面的代码中做的那样:
DateTime.ParseExact(txtfrmdate.Text, "dd-MM-yyyy", CultureInfo.InvariantCulture)
使用DateTime。ParseExact而不是Convert。ToDateTime
为了避免系统对不同地区日期格式设置的混淆,我建议在转换类型时总是提到日期格式…