In my attendance portal, employee marks the attendance by giving CheckIn time and CheckOut time. I am using Bootstrap datetimepicker Where the time format is in 12 Hour (AM , PM). i want to calculate the total working hours per day of the employee but i'm facing the datetime format issues. So how can i calculate the total working hours per day of the employee when the format is in 12 hours (AM , PM)
Here's my View Code
- class="col-md-3">"datepicker" class="input-group date" data-link-field="dtp_input2" data-date-format="dd/mm/yyyy" data-link-format="dd/mm/yyyy">
- @*class="form-control" type="text" readonly />*@
- @Html.TextBoxFor(model => model.Date, new { @class = "form-control", autocomplete = "off" })
- class="input-group-addon">class="glyphicon glyphicon-remove">
- class="input-group-addon">class="glyphicon glyphicon-calendar">
- "hidden" id="dtp_input2" value="" />
- class="col-md-3">
- @*"datetime-local" id="CheckIn" name="CheckIn">*@
class="input-group date form_datetime" data-date="" data-date-format="mm/dd/yyyy HH:ii p" data-link-field="dtp_input1" data-link-format="mm/dd/yyyy HH:ii ">- @Html.TextBoxFor(model => model.CheckIn, new { @class = "form-control", autocomplete = "off", required = "required" })
- class="input-group-addon">class="glyphicon glyphicon-remove">
- class="input-group-addon">class="glyphicon glyphicon-time">
- "hidden" id="dtp_input1" value="" />
- class="col-md-3">
- @*"datetime-local" id="CheckOut" name="CheckOut">*@
class="input-group date form_datetime2" data-date="" data-date-format="mm/dd/yyyy HH:ii p" data-link-field="dtp_input3" data-link-format="mm/dd/yyyy HH:ii ">- @Html.TextBoxFor(model => model.CheckOut, new { @class = "form-control", autocomplete = "off" })
- class="input-group-addon">class="glyphicon glyphicon-remove">
- class="input-group-addon">class="glyphicon glyphicon-time">
- "hidden" id="dtp_input3" value="" />
- class="row">class="col-md-12">
- "button" id="save" class="btn btn-primary" value="Mark Attendance" />
- @Html.ActionLink("My Attendance", "Index", "Attendance")
And Here's my Controller Code
- [HttpPost]
- public JsonResult Create(Attendance attendance)
- {
- // if (attendance.Date == todayDate) return BadRequest("Too late or too early");
- // var hasAttendance = db.Attendance.Any(i => i.Emp_Id = attendance.Emp_Id && i.Date == todayDate);
- //DateTime tempDate = Convert.ToDateTime(attendance.Date);
- if (ModelState.IsValid)
- {
- try
- {
- attendance.CheckIn = Convert.ToDateTime(attendance.CheckIn.ToString("yyyy-MM-dd HH:mm:ss"));
- attendance.CheckOut = Convert.ToDateTime(attendance.CheckOut.Value.ToString("yyyy-MM-dd HH:mm:ss"));
- attendance.Date = DateTime.Now;
- var attdate = attendance.Date;
- var nextdate = attdate.AddDays(1);
- var id = Convert.ToInt32(Session["UserID"]);
- var isExist = db.Attendance.FirstOrDefault(i => i.Emp_Id == id && i.Date == attdate && i.Date < nextdate);
- if (isExist != null)
- {
- //return Content("");
- //ViewBag.isExist = false;
- //TempData["Msg"] = ("Your Attendance is Already Marked");
- var kMessage = "Your Attendance is Already Marked";
- //return RedirectToAction("Index", "Attendance", new { message = kMessage });
- return Json(new { isError = false, message = kMessage });
- }
- else
- {
- //attendance.Emp_Id = id;
- //var res = tempDate.Date;
- db.Attendance.Add(attendance);
- db.SaveChanges();
- ViewBag.kMessage = "";
- }
- }
- catch (Exception ex)
- {
- Console.WriteLine(ex.InnerException.Message);
- }
- }
- return Json(new {isError=false,message="YAAAAAAAAAAAAY" });
- //return RedirectToAction("Index", "Attendance");
- }
Sachin SinghPosted Dec 1, 2020, 6:36 AM