【问题标题】:Date format with mvc date object not working with Angular JS带有 mvc 日期对象的日期格式不适用于 Angular JS
【发布时间】:2019-08-24 06:04:38
【问题描述】:

我正在将 mvc + json 对象与输入控件绑定,但日期格式不正确

var app = angular.module("myApp", []);
app.controller("myCtrl", function ($scope, $http) {

    $scope.GetInitialData = function () {
        $(".load-bar").show();  

        $http({
            method: "get",
            url: "/ProjectClosure/GetInitialData"
        }).then(function (response) {
            $scope.projectData = response.data.projectData;           
        }, function () {
            alert("Error Occur");
        });
    };

});


<input type="datetime" class="form-control" name="CompletionDate" required placeholder="@ProjectResources.CompletionDate" ng-model="projectData.CompletionDate | date:'dd MMM yyyy'">

我预计日期为 2019 年 8 月 20 日格式,但它显示的是 /Date(1566495000000)/

【问题讨论】:

  • 在 ng-model 表达式中使用日期管道是没有意义的。表达式必须是可分配的,2-wau 绑定才能工作。 Angular 可以做到projectData.CompletionDate = newEnteredValue。但它做不到projectData.CompletionDate | date:'dd MMM yyyy' = newValue
  • 而且日期过滤器不支持/Date(1566495000000)/等字符串。阅读它的文档。使用体面的标准日期格式。 (即 ISO-8601)
  • 检查这个问题也许可以帮助stackoverflow.com/questions/14474555/…

标签: angularjs model-view-controller


【解决方案1】:
  1. 没有input type="datetime"https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types
  2. 这需要 yyyy-mm-dd 格式作为值并根据区域设置显示它
  3. 如果您需要时间使用input type="datetime-locale",但请先查看浏览器支持:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/datetime-local

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-28
    • 2013-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多