【发布时间】:2016-07-14 17:15:00
【问题描述】:
我需要从来自后端的特定日期获取年、月和日期。如何在前端控制器上做到这一点?
谢谢!
【问题讨论】:
-
你写代码。也许如果您向我们展示了您的尝试,最好以minimal reproducible example 的形式展示,我们或许可以提供帮助。但是这个问题已经被问过很多次了,所以你会想说你的问题与那些有什么不同。
我需要从来自后端的特定日期获取年、月和日期。如何在前端控制器上做到这一点?
谢谢!
【问题讨论】:
假设来自后端的日期的变量名称是D。
你可以这样做:
var date = new Date(D);
var year = date.getFullYear();
var month = date.getMonth();
var day = date.getDay();
【讨论】:
D 是像"09/08/2012" 这样的字符串?月份应该是多少?使用您的代码的结果将取决于浏览器、用户的操作系统以及该操作系统中的区域设置。
示例
在您的 HTML 中<div>site design / logo &copy; {{copyright | date:'yyyy'}} Stack Exchange Inc</div>
在您的 AngularJS 控制器中
$scope.copyright = new Date();
输出将是
/*site design / logo © 2019 Stack Exchange Inc; */
回答您的问题
控制器
$scope.dateVariable = new Date();
查看年份
{{dateVariable | date:'yyyy'}}
查看月份
{{dateVariable | date:'MM'}}
查看 Day
{{dateVariable | date:'dd'}}
有关更多选项,例如获取完整日期、显示日期的不同方式、获取时间以及获取不同事物的选项/显示日期项的方式
一般语法是
{{ date | date : format : timezone }}
【讨论】:
在 AngularJS(不是 Angular 2+)中,您可以使用 date filter。这将根据提供的格式将日期格式化为给定的字符串。根据您的情况,您可以使用以下内容:
{{ createdDate | date : ['yyyy'] }} // this will give a 4 digit representation of the year
{{ createdDate | date : ['MMM'] }} // month in year (January-December)
{{ createdDate | date : ['d'] }} // day in month (1-31)
Link 在 Plunker 上演示
【讨论】: