【问题标题】:Change format from dd/mm/yyy to yyyy-mm-dd HH:mm:ss将格式从 dd/mm/yyy 更改为 yyyy-mm-dd HH:mm:ss
【发布时间】:2013-09-03 11:18:18
【问题描述】:

场景: 我有一个格式为“yyyy-mm-dd HH:mm:ss”的输入字符串。将其转换为日期时间格式时遇到问题。我需要将此日期时间输出到数据库列并返回与我正在传递的日期时间相对应的注释。 这是我的代码:我尝试使用 Datetime.ParseExact 转换字符串,但它返回另一种格式。

我不知道哪里出错了。请帮忙

这是我的代码: [HttpPost]

    public string getdailynote(string selectedDate)
        { 
        tablenote Dnote= new tablenote;
        DateTime selectedDate1 = DateTime.ParseExact(selectedDate,
                                           "yyyy-mm-dd HH:mm:ss",
                 CultureInfo.InvariantCulture);
        Dnote.RealDate = selectedDate1;
        string daily;
        daily = _scheduler.GetDailyNote(selectedDate1);
        return daily;
    }

view.cshtml:

function getdailynotes() {
           debugger;
           var calendar = $("#SchedulerCalendar").data("kendoCalendar");
           var view = calendar.value();
           var kendodate = dateFormat(view, 'yyyy-mm-dd HH:mm:ss');
           $.ajax({
               type: "POST",
               url: window.location.pathname + "Scheduler/getdailynote",
               data: { selectedDate: kendodate }
           })
        .success(function (result) {
               if (result != null) {
                document.getElementById('dailynotes').value = result;

            }
        });
   }

更新: 服务.cs _schedulerfile:

public string GetDailyNote(DateTime selectedDate)
        {
            string returndaynote;
            returndaynote = dbContext.GetDailyNote(selectedDate).SingleOrDefault();
            return returndaynote;
        }

from autogenerated context.cs
 public virtual ObjectResult<string> GetDailyNote(Nullable<System.DateTime> realDate)
        {
            var realDateParameter = realDate.HasValue ?
                new ObjectParameter("RealDate", realDate) :
                new ObjectParameter("RealDate", typeof(System.DateTime));

            return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<string>("GetDailyNote", realDateParameter);
        }

【问题讨论】:

标签: c# asp.net-mvc-3 jquery datetime date-format


【解决方案1】:

您的格式错误。应该是:

DateTime selectedDate1 = DateTime.ParseExact(
    selectedDate,
    "yyyy-MM-dd HH:mm:ss",
    CultureInfo.InvariantCulture
);

mm 表示分钟,而MM 表示月份,这是您想要的。

【讨论】:

  • 谢谢达林!我做了这个改变,但没有改变:(检查我更新的屏幕截图
  • 是的,我看到了。看不出有什么不妥。 selectedDate1 是一个代表正确日期的 DateTime 对象:4th of September 2013, 4:09:31 PM,这正是您的字符串所代表的:2013-09-04 16:09:31。 ParseExact 函数可以正常工作并且符合预期。您正在查看的是 Visual Studio 调试器中 DateTime 的内部表示。
  • 是的,它工作正常,从您的屏幕截图看来,您正在比较 selectDateselectDate1 的调试器中的值,但即使调试器以不同的格式显示,它们也是相同的。
  • 不完全是,我想他想要一个 24 小时制的时钟。
  • @pinckerman,但他有!!!你知道 .NET 中的 DateTime 类型是什么吗?如果您想将其输出回字符串并使用您想要的任何格式对其进行格式化,那么您可以继续执行以下操作:selectedDate1.ToString("yyyy-MM-dd HH:mm:ss") 就可以了,这次您最终得到一个字符串,它表示 DateTime 对象格式化为你愿意。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-09
相关资源
最近更新 更多