【问题标题】:Set the format of a Kendo DateTimePicker date sent to the controller设置发送到控制器的 Kendo DateTimePicker 日期格式
【发布时间】:2014-10-06 19:06:41
【问题描述】:

我在我的应用程序中使用了 Kendo DateTimePicker。

我在应用程序中从中获得的价值是

Wed Aug 13 2014 00:00:00 GMT+0200 (Romance Daylight Time)

我无法将其解析为 DateTime。我收到“字符串未被识别为有效的日期时间”。错误。

如何设置从 DateTimePicker 获取的日期格式? Kendo DateTimePicker 中有选项吗??t

【问题讨论】:

    标签: kendo-ui datetimepicker


    【解决方案1】:

    如果您需要更改从申请中获得的日期,您可以按照以下方式进行操作

    var dateobj=kendo.parseDate("Wed Aug 13 2014 00:00:00 GMT+0200 (Romance Daylight Time)", "yyyy-MM-dd h:mm:ss tt");
    var datestring = kendo.toString(dateobj, "MM-dd-yyyy h:mm:ss tt");
    

    kendo.parseDate() 将日期解析为日期对象,kendo.toString() 将日期格式化为字符串

    如果您需要转换从 Datepicker 获取的日期,请执行此操作

    var datepicker = $("#datepicker").data("kendoDatePicker");
    var value = datepicker.value();
    kendo.toString(value,"dd/MM/YYYY")
    

    如果您需要将 Datepicker 日期转换为 Sever Date

    var datepicker = $("#datepicker").data("kendoDatePicker");
        var value = datepicker.value();
        value.toUTCString();
    

    【讨论】:

      【解决方案2】:

      这是我用过的:

       var dateobj = kendo.parseDate("Wed Aug 13 2014 00:00:00 GMT+0200 (Romance Daylight Time)");
       var datestring = kendo.toString(dateobj, "MM-dd-yyyy h:mm:ss tt");
      

      【讨论】:

        【解决方案3】:

        我创建了一个自定义活页夹,用来代替“VALUE”数据绑定属性

        kendo.data.binders.widget.shortdate = kendo.data.Binder.extend({
        init: function (widget, bindings, options) {
            kendo.data.Binder.fn.init.call(this, widget.element[0], bindings, options);
            var that = this;
            $(widget.element).on("change", function () {
                that.change();
            });
        },
        refresh: function () {
            var path = this.bindings.shortdate.path,
                source = this.bindings.shortdate.source,
                value = source.get(path);
            this.bindings["shortdate"].set(value);
        },
        change: function () {
            var formatedValue = this.element.value,
            value = kendo.toString(new Date(formatedValue), "d");
            if (value) {
                this.bindings["shortdate"].set(value);
            }
        }
        

        });

        【讨论】:

          【解决方案4】:

          你也可以试试这个

          entity.ExpiredDate = ParseDate(model.ExpiredDate);
          
          
          
          private static DateTime ParseDate(string input)
                  {
                      return DateTime.ParseExact(input, formats, CultureInfo.InvariantCulture, DateTimeStyles.None);
                  }
          
            private static string[] formats = new string[]
              {
                  "MM/dd/yyyy HH:mm:ss tt",
                  "MM/dd/yyyy HH:mm:ss",
                  "M/dd/yyyy H:mm:ss tt",
                  "M/dd/yyyy H:mm:ss"   ,
                  "MM/dd/yyyy hh:mm tt"
              };
          

          You can also see this

          【讨论】:

            【解决方案5】:

            如果您使用 kendo API 绑定网格,则可以使用 .Format("0:d")。 这是您可以找到标准和自定义格式含义的链接 - Date formatting

            这是一个使用自定义格式的示例 columns.Bound(model => model.CreatedOn).Format("{0:dd.MM.yyyy - HH:mm:ss}");

            结果为 24 小时格式:20.07.2016 - 11:01:23

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2014-04-24
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多