如何使用AngularJS从数组中移除日期中的时间

3

我正在通过将数据推送到数组中来获取数据,并且我希望在页面上显示这些数据。我正在使用

$.each(data, function (i, o) {
                $scope.GetBlogDetailsar.push({ Id: o.id, Title: o.title, CategoryId: o.categoryId, SubCategoryId: o.subCategoryId, Image: o.image, MetaDescription: o.metaDescription, TotalLikes: o.totalLikes, TotalDislikes: o.totalDislikes, CreatedDate: o.createdDate, CategoryName: o.categoryName, SubCategoryName: o.subCategoryName });
            });

GetBlogDetailsar是一个数组。

我得到了所需的数据,但问题是我得到了创建日期和时间,而我只需要显示日期。那么如何从日期中删除时间。

我正在获取

`2016-12-14T02:01:20.983 as created date`

I want only

2016-12-14

1
"2016-12-14T02:01:20.983".split("T")[0] - Ajay Narain Mathur
1
如果您只想在视图中使用它,则可以使用以下代码:{{CreatedDate | date:'yyyy-mm-dd'}}。如果您想在控制器中对更改后的日期格式进行进一步处理,则需要注入日期过滤器。 - Bharat Gupta
3个回答

2
你只需要这样做:
CreatedDate: o.createdDate.format("yyyy-mm-dd");

谢谢您,您的解决方案太棒了。 - Gaurav_0093

2
您不能这样格式化日期:
$filter('date')(date, format, timezone)

或者

{{ date_expression | date : format : timezone}}

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

AngularJS中的日期过滤器可以将日期转换为指定格式的字符串。

语法

{{ date_expression | date : format : timezone}}
  • date_expression:表示要格式化的日期对象或字符串。
  • format:表示日期格式,例如:"yyyy/MM/dd HH:mm:ss"。
  • timezone:表示时区,例如:"UTC" 或 "+0430"。

示例

<!-- 将日期格式化为yyyy-MM-dd格式 -->
<p>{{ '2022-12-31T16:00:00.000Z' | date:'yyyy-MM-dd' }}</p>
<!-- 将日期格式化为本地时间 --> <p>{{ '2022-12-31T16:00:00.000Z' | date:'medium':'-0700' }}</p>

0

也可以使用 Moment.js 格式化日期

以下是代码片段

var dateTime = moment('2016-12-14T02:01:20.983').format('YYYY-MM-DD');
console.log(dateTime);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.js"></script>


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接