如何从数据行获取日期时间值 [英] How to get date time value from data row
问题描述
我正在尝试从数据表的数据行获取员工的出生日期,但得到异常字符串未被识别为有效的DateTime。
请帮我从数据行中获取类型日期时间的值。
以下是我的代码。
列表< employeebo> employeeList = new List< employeebo>();
foreach(dt.Rows中的DataRow dr)
{
DateTime t = DateTime.Now ;
employeeObject.EmployeeID = Convert.ToInt64(dr [empId]);
employeeObject.EmployeeFirstName = Convert.ToString(dr [empFirstName]);
employeeObject.EmployeeMiddleName = Convert.ToString(dr [empMiddleName]);
employeeObject.EmployeeLastName = Convert.ToString(dr [emptLastName]);
employeeObject.EmployeeGenderStr = Convert.ToString(dr [empGender]);
employeeObject.EmployeeDateOfBirth = Convert.ToDateTime(dr [empDOB]);
//employeeObject.EmployeeDateOfBirth = DateTime.ParseExact(dr [empDOB]。ToString()。Replace(;,),m / d / yyyy hh:mm:ss,CultureInfo.InvariantCulture ); // DateTime.Parse(dr [empDOB]。ToString());
// employeeObject.EmployeeDateOfBirth = Convert.ToDateTime(dr [empDOB]。ToString()。Replace(;,),System.Globalization.CultureInfo.GetCultureInfo(hi-IN)。DateTimeFormat); ;
employeeObject.EmployeeContactno = Convert.ToDouble(dr [empContactNo]);
employeeObject.EmployeeEmailId = Convert.ToString(dr [empEmailId]);
employeeObject.EmployeeAddress = Convert.ToString(dr [empAddress]);
employeeObject.EmployeeDesignation = Convert.ToString(dr [empDesgnation]);
employeeList.Add(employeeObject);
Hi,
I am trying to get the date of birth of employees from data row of the datatable but getting the exception " String was not recognized as a valid DateTime".
Please help me to get the value of type date time from data row.
The following is the my code.
List<employeebo> employeeList = new List<employeebo>();
foreach (DataRow dr in dt.Rows)
{
DateTime t = DateTime.Now;
employeeObject.EmployeeID = Convert.ToInt64(dr["empId"]);
employeeObject.EmployeeFirstName = Convert.ToString(dr["empFirstName"]);
employeeObject.EmployeeMiddleName = Convert.ToString(dr["empMiddleName"]);
employeeObject.EmployeeLastName = Convert.ToString(dr["emptLastName"]);
employeeObject.EmployeeGenderStr = Convert.ToString(dr["empGender"]);
employeeObject.EmployeeDateOfBirth = Convert.ToDateTime(dr["empDOB"]);
//employeeObject.EmployeeDateOfBirth = DateTime.ParseExact(dr["empDOB"].ToString().Replace(";", " "), "m/d/yyyy hh:mm:ss", CultureInfo.InvariantCulture);// DateTime.Parse(dr["empDOB"].ToString());
// employeeObject.EmployeeDateOfBirth = Convert.ToDateTime(dr["empDOB"].ToString().Replace(";", " "), System.Globalization.CultureInfo.GetCultureInfo("hi-IN").DateTimeFormat); ;
employeeObject.EmployeeContactno = Convert.ToDouble(dr["empContactNo"]);
employeeObject.EmployeeEmailId = Convert.ToString(dr["empEmailId"]);
employeeObject.EmployeeAddress = Convert.ToString(dr["empAddress"]);
employeeObject.EmployeeDesignation = Convert.ToString(dr["empDesgnation"]);
employeeList.Add(employeeObject);
推荐答案
使用DateTime.TryParse代替DateTime.Parse或DateTime.ParseExact;当它失败时,这不会给你一个例外。
Use DateTime.TryParse instead of DateTime.Parse or DateTime.ParseExact; This won't give you an exception when it fails.
dr["empDOB"]="1/1/1900 12:34:56"
Convert.ToDateTime(dr["empDOB"].ToString())
这应该可以正常工作。抛出异常的唯一原因是输入。因此,找出存储在 dr [empDOB]
中的内容。
这篇关于如何从数据行获取日期时间值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!