アプリケーションでKendoDateTimePickerを使用しています。
私のアプリケーションでそれから得られる価値は
Wed Aug 13 2014 00:00:00 GMT+0200 (Romance Daylight Time)
これをDateTimeに解析できません。 「文字列が有効な日時として認識されませんでした」というメッセージが表示されます。エラー。
DateTimePickerから取得する日付の形式を設定するにはどうすればよいですか?剣道DateTimePickerにオプションはありますか?? t
アプリケーションから取得する日付を変更する必要がある場合は、以下のように行うことができます
_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の日付をSeverDateに変換する必要がある場合
_var datepicker = $("#datepicker").data("kendoDatePicker");
var value = datepicker.value();
value.toUTCString();
_
ここで私が使用したもの:
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");
Kendo APIを使用してグリッドをバインドしている場合は、.Format( "0:d")を使用できます。標準形式とカスタム形式の意味を見つけることができるリンクは次のとおりです- 日付形式
カスタムフォーマットを使用した1つの例を次に示しますcolumns.Bound(model => model.CreatedOn).Format("{0:dd.MM.yyyy - HH:mm:ss}");
その結果、24時間形式になります:20.07.2016 - 11:01:23
。
これを試すこともできます
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"
};
「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);
}
}
});