设置发送到控制器的Kendo DateTimePicker日期的格式

时间:2014-08-13 12:14:10

标签: kendo-ui datetimepicker

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

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

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

我无法将其解析为DateTime。我得到一个“字符串未被识别为有效的DateTime”。错误。

如何设置DateTimePicker的日期格式? Kendo DateTimePicker中是否有选项?

5 个答案:

答案 0 :(得分:10)

如果您需要更改从应用程序获得的日期,可以按照以下步骤进行操作

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();

答案 1 :(得分:0)

你也可以试试这个

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

答案 2 :(得分:0)

我在这里使用过:

 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 :(得分:0)

我创建了一个自定义绑定器,用它代替“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 :(得分:0)

如果使用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