在我的约会选择器中,我的日期正确无误。这是我的日期拣货代码
.datepicker({
autoclose: true,
todayHighlight: true,
startDate: '+0d'
})
这是我的“Servicedate”中的控制器代码获取日期,默认时间为12:00:00,但在我的datepicker值中,它给出了日期,我没有时间。
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; }
答案 0 :(得分:0)
只需添加Date Format
$('#datepicker').datepicker({ dateFormat: 'dd-mm-yyyy' });
答案 1 :(得分:0)
为此您需要将日期格式添加到datepicker,如此
<script type="text/javascript">
$(function() {
$('#datetimepicker').datetimepicker({
format: 'DD/MM/YYYY' // Add DateFormat
});
});
</script>
详情请参阅DatePicker
答案 2 :(得分:0)
评论中的澄清:
在UI即datepicker中,我只获得了日期,我将该日期发送给控制器,它将日期和默认时间(12:00:00)视为 - 但我的控制器中不需要时间
在您的C#控制器中,您有一个DateTime
- 顾名思义,它总是有一个Date 和一个时间。
要获得日期部分,您需要.Date
(如DateTime.Now.Date
中所示) - 但是,这也是一个日期时间,所以给你一个日期+时间,默认时间。如果您有时间(从.Date
开始)并且想要丢弃时间部分,则可以使用.Now
。
问题不是你有时间,而是你如何使用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