日期时间格式 AngularJs

Date Time Format AngularJs

我有一个字符串输出为“30/12/2019 12:00:00 AM”,即 "DD/MM/YYYY HH:MM:SS AM"。我需要一个格式化程序来将日期“30/12/2019 12:00:00 AM”显示为 2019 年 12 月 30 日。任何人都可以帮我解决这个问题。谢谢

您要格式化的日期字符串应该是日期对象、毫秒(字符串或数字)或各种 ISO 8601 日期时间字符串格式。

您不能使用 JavaScript 中的 Date 对象创建 DD/MM/YYYY HH:MM:SS AM 格式的日期。

这是一个简单的解决方法,将日期字符串转换为有效的日期对象,然后使用 AngularJS date filter.

将日期格式化为指定格式

const app = angular.module('myApp', []);

app.controller('myController', ['$scope', function($scope){         
    const convertDate = date => {
        const parts = date.split('/'),
              day = parts[0],
              month = parts[1],
              year = parts[2].split(' ')[0];
              
        return new Date(`${year}-${month}-${day}`);
    };
    
    $scope.dt = convertDate('30/12/2019 12:00:00 AM');
}]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.7.9/angular.min.js"></script>

<div ng-app="myApp" ng-controller="myController">
    {{ dt | date: 'mediumDate' }}
</div>