在我的日期选择器中,我得到了正确的日期。这是我的日期选择器代码
.datepicker({
autoclose: true,
todayHighlight: true,
startDate: '+0d'
})
这是我在“Servicedate”中的 Controller 代码,获取默认时间为 12:00:00 的日期,但在我的日期选择器值中,它给出的是日期,而我不需要时间。
public ActionResult GetServiceProviders(RankedServices.Entities.Admin.Services Services)
{
// if (Services != null && Services.SelectedServiceIds != null)
int FutureDate = DateTime.Compare(Services.Servicedate, Convert.ToDateTime(Services.USdate));
if (Services != null && (Services.SelectedServiceIds != null || Services.ServiceIds != null) && FutureDate >= 0)
{
if (Services.SelectedServiceIds != null)
Services.ServiceIds = string.Join(",", Services.SelectedServiceIds);
// Services.ServiceIds = string.Join(",", Services.SelectedServiceIds);
if (Services.ServiceIds != "" && (Services.SubLocationID != "" || Services.Servicedate.Date != null))
{
string UserID = "";
if (Session["UserID"] != null)
{
UserID = Session["UserID"].ToString();
}
Services.lstServiceProviders = ServiceDetails.GetServiceProviders(Services.SubLocationID, Services.ServiceIds.TrimEnd(','), UserID, Services.Servicedate.Date.ToString(), Services.Daymode, Services.ProviderID);
IEnumerable<RankedServices.Entities.Admin.Services> lstServices = ServiceDetails.GetServicesList(Services.SubLocationID.ToString());
ViewBag.SelectedServices = new MultiSelectList(lstServices, Services.SelectedServiceIds);
return View("ServicesList", Services);
// return Json(lst, JsonRequestBehavior.AllowGet);
}
else
{
return RedirectToAction("guestsearch", "Home");
}
}
else
{
return RedirectToAction("guestsearch", "Home"); // if none are selected re-direct to Guest-Search
}
}
这是我的服务日期模型:
public DateTime Servicedate { get; set; }
最佳答案
评论中的澄清:
In the UI i.e datepicker I am getting date only and I am getting that date to controller it is taking as date and as well as default time (12:00:00) - but I don't need time in my controller
在您的 C# Controller 中,您有一个 DateTime
- 顾名思义,它始终具有一个日期和时间。
要仅获取日期部分,您需要使用.Date
(如DateTime.Now.Date
) - 但是,这也是一个日期时间,所以给你一个日期+时间,默认时间。当您确实有时间(从 .Now
开始)并且想要放弃时间部分时,您可以使用 .Date
。
问题不在于您有时间部分,而在于如何使用 DateTime 对象。
... Services.Servicedate.Date.ToString() ...
此时您需要格式化日期时间,而不是依赖默认的“.ToString()”(其中包括时间部分)。为此,您可以使用内置格式之一:
Services.Servicedate.ToShortDateString() // locale dependent, 4/13/2017 or 13/4/2017
Services.Servicedate.ToLongDateString() // Thursday, April 13, 2017
或者,如果这些不提供您感兴趣的格式(或与您的服务调用兼容),则使用自定义格式,例如:
Services.Servicedate.ToString("yyyy-MM-dd") // 2017-04-13
关于javascript - 如何从日期中删除时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43389541/