【问题标题】:How to Parse string into Date in angularjs如何在angularjs中将字符串解析为日期
【发布时间】:2018-02-27 00:13:03
【问题描述】:

我有来自服务器的数据要显示。我收到这样的字符串:2016-05-01。我需要以这种格式过滤两个日期之间的数据。我有一个函数可以按原样解析日期:

$scope.parseDate = function (date) {
  return new Date(Date.parse(date));
} 

在我的 html 中,我用这个显示日期:

{{ parseDate(item.startDate) }}`

但是在浏览器中,结果是:"2016-07-12T00:00:00.000Z"

  1. 我需要将字符串解析为与服务器相同的格式:2016-05-01。

  2. 我需要一个简单的过滤功能。

我不想使用moment.js。我的后端平台是 JavaScript。

【问题讨论】:

标签: javascript jquery css angularjs wordpress


【解决方案1】:

你可以像下面这样使用 AngularJS 过滤器-

$scope.parseDate = function (date) {
    $filter('date')(new Date(Date.parse(date)), 'yyyy-MM-dd');
} 

【讨论】:

    【解决方案2】:

    您可以使用 Angular 提供的内置 date 过滤器。

    类似的东西;

    {{ date_variable | date:'dd-mm-yyyy' }}
    

    【讨论】:

      【解决方案3】:

      在你的 html 中试试这个:

      {{item.startDate | date: 'MMM dd, yyyy'}}
      

      【讨论】:

        【解决方案4】:

        在您的 HTML 文件中尝试使用

        {{ parseDate(item.startDate) |日期:'yyyy-MM-dd'}}

        【讨论】:

        【解决方案5】:

        类似

        function(date) {
           var d = new Date(Date.parse(date));
           return d.getDate() + " " + d.getMonth() + " " + d.getFullYear();
        }
        

        显然,这取决于您希望输出的日期格式。

        请记住,函数不是以角度格式化日期的最佳方式,因为它将连续执行并导致性能问题。你应该使用这样的过滤器

        app.filter('mydate', function () {
            return function (input) {
                if (input) {
        
                var d = new Date(input);
                return d.getDate() + " " + d.getMonth() + " " + d.getFullYear();
        
            }
        };
        });
        

        【讨论】:

          猜你喜欢
          • 2012-05-05
          • 1970-01-01
          • 1970-01-01
          • 2011-05-28
          • 2012-06-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-08-02
          相关资源
          最近更新 更多