如何从数据行获取日期时间值 [英] How to get date time value from data row

查看:66
本文介绍了如何从数据行获取日期时间值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



我正在尝试从数据表的数据行获取员工的出生日期,但得到异常字符串未被识别为有效的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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆