javascript - 如何从日期中删除时间

标签 javascript c# jquery asp.net-mvc

在我的日期选择器中,我得到了正确的日期。这是我的日期选择器代码

.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/

相关文章:

javascript - localStorage 添加到下一个关键数字

javascript - 原始字符串到普通字符串 javascript

c# - 如何在 C# 中的运行时向类添加属性?

javascript - button_to 上的 remote true 不进行 ajax 调用

javascript - jquery中如何获取按钮列表的索引

javascript - 将 soundcloud 页面 url 转换为声音文件的直接 url

javascript - 如何防止正文通过推送侧菜单滚动

c# - 无法向电子邮件发送消息

c# - 将 ASP.NET Core 5.0 IdentityServer4 升级到 6.0 错误 - 没有这样的表 : Keys

JQuery - 使用选择器获取值