设置发送到控制器的 Kendo DateTimePicker 日期格式
Posted
技术标签:
【中文标题】设置发送到控制器的 Kendo DateTimePicker 日期格式【英文标题】:Set the format of a Kendo DateTimePicker date sent to the controller 【发布时间】: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
【问题讨论】:
【参考方案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
。
【讨论】:
以上是关于设置发送到控制器的 Kendo DateTimePicker 日期格式的主要内容,如果未能解决你的问题,请参考以下文章
Kendo DataSource:如何在不发送两个 httprequest 的情况下在 fetch 之前设置过滤器
仅获取修改或新的 Kendo UI Grid 行以发送到服务器