我创建了一个在localhost
上工作正常的网络应用程序但是当我上传网络应用时,我的日历上出现错误
字符串未被识别为有效的DateTime。
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
)
我的C#页
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"))
};
答案 0 :(得分:3)
网络服务器上的CurrentCulture
似乎是美国的,而且您的文字不是以一个月前的月份格式 - 它推断的是13个月,这不是&# 39;有效日期。
您应该以与代码中稍后相同的方式解析日期:
DateTime.ParseExact(txtfrmdate.Text, "dd-MM-yyyy", CultureInfo.InvariantCulture)
答案 1 :(得分:0)
使用DateTime.ParseExact代替Convert.ToDateTime
答案 2 :(得分:0)
为了避免系统在不同的区域日期格式设置上混淆,我建议在转换类型时始终提及日期格式...