如何从日期中删除时间

时间:2017-04-13 10:16:29

标签: javascript c# jquery asp.net-mvc

在我的约会选择器中,我的日期正确无误。这是我的日期拣货代码

.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; }

3 个答案:

答案 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