Kendo AngularJS日期选择器 - 如何设置从时间戳到格式化日期的ng-model?

时间:2015-03-11 11:55:15

标签: javascript angularjs date kendo-ui datepicker

根据文档,有以下日期时间选择器 http://demos.telerik.com/kendo-ui/datepicker/angular

<input kendo-date-picker
                     k-options="monthSelectorOptions"
                     ng-model="milestone.estimate"
                     k-ng-model="dateObject" />

使用以下选项:

  // SET OPTIONS FOR DATE TIME PICKER
  $scope.monthSelectorOptions = {
    format: "dd.MM.yyyy",
    change: $scope.onDateChange
  };

我想问一下如何从时间戳进行自动日期格式化,其表示为:

ng-model="milestone.estimate"

选择日期从范围内的选择器更新值到时间戳,但日期选择器中显示格式化日期。

有可能,我该怎么办?

非常感谢您的任何建议。

3 个答案:

答案 0 :(得分:0)

尝试使用angularjs日期过滤器?它在你展示的例子中就在那里:

<div class="demo-section k-content"ng-controller="MyCtrl">
    <div class="box-col">
        <h4>Select date:</h4>
        <input kendo-date-picker
         ng-model="dateString"
         k-ng-model="dateObject" />

然后再往下......

dateObject: {{ dateObject | date:"EEEE, MMMM d, yyyy" }}

使日期与您想要的非常相似。在这里阅读更多内容:

https://docs.angularjs.org/api/ng/filter/date

答案 1 :(得分:0)

你可以使用parseFormats kendo属性让kendo知道输入的格式

parseFormats: ["dd/MM/yyyy'T'HH:mm:ss"] // e.g. 11/03/2015T18:05:00

在您的配置中:

// SET OPTIONS FOR DATE TIME PICKER
 $scope.monthSelectorOptions = {
    format: "dd.MM.yyyy",
    parseFormats: ["dd/MM/yyyy'T'HH:mm:ss"], // e.g. 11/03/2015T18:05:00
    change: $scope.onDateChange
 };

答案 2 :(得分:0)

要在角度代码使用中格式化日期,可以通过对输入使用ng-change并使用它传递yr ng-model来调用formatDate函数,因为ng-model也附加到kendo日历上ng-change格式化ng-model

    function formatDate(anyDate) {
        return $filter('date')(anyDate, 'yyyy-MM-dd HH:mm:ss');
    }

$scope.formatDate = function(anyDate){
       return $filter('date')(anyDate, 'yyyy-MM-dd HH:mm:ss');
}

并将其注入yr controller $ filter