C#
foreach (DataRow dr in this._dsData.Tables[this._sqlManager.TableNameEmployee + "Query"].Rows) { d1 = Convert.ToDateTime(dr["EmployedDate"]); if (dr["ResignedDate"].ToString() != "") { d2 = Convert.ToDateTime(dr["ResignedDate"]); } else { d2 = Convert.ToDateTime(DateTime.Now.ToString("dd/MM/yyyy")); } //d1 = Convert.ToDateTime("19/03/2018"); //d2 = Convert.ToDateTime("01/04/2018"); int increment = 0; if (d1.Day > d2.Day) { increment = monthDay[d1.Month - 1]; } if (increment == -1) { if (DateTime.IsLeapYear(d1.Year)) { increment = 29; } else { increment = 28; } } if (increment != 0) { day = (d2.Day + increment) - d1.Day; increment = 1; } else { day = d2.Day - d1.Day; } if ((d1.Month + increment) > d2.Month) { month = (d2.Month + 12) - (d1.Month + increment); increment = 1; } else { month = (d2.Month) - (d1.Month + increment); increment = 0; } year = d2.Year - (d1.Year + increment); dr["Experience"] = year + " Year" + month + " Month" + day + " Day "; }