Angular js将月份编号替换为月份名称

Angular js Replace month number with month name

本文关键字:替换 编号 js Angular      更新时间:2023-09-26

我在html中有一个日期-时间字符串对象。日期-时间字符串的格式为mm/dd/YYYY hh:mm:ss根据月份编号,我正在尝试获取月份名称。

我试着做了以下事情,

  1. 我无法将.getMonth()作为字符串
  2. <div ng-switch="item.applicationData.EventStartDateTime.split("/")[0]">JavaScript在角度开关表达式中不起作用
  3. 以下不工作<span class="calendar_mon">{{item.applicationData.EventStartDateTime.split("/")[0]=="12"?"December"}}</span>
  4. 我所能做的就是在对象中写一些js操作

有什么帮助吗?

在控制器中创建一个函数,将日期作为参数,找到月份并返回月份名称,然后在控制器中使用,如:

<span class="calendar_mon">
     {{someFunction(item.applicationData.EventStartDateTime)}}
</span>

然后在控制器中执行上面使用的逻辑:

$scope.someFunction = function(stringDate) {
  var month = stringDate.split("/")[0];
  var returnMonth;
  switch(month) {
     case "01": returnMonth = "January"; break;
     case "02": returnMonth = "February"; break;
     case "03": returnMonth = "March"; break;
     case "04": returnMonth = "April"; break;
     case "05": returnMonth = "May"; break;
     case "06": returnMonth = "June"; break;
     case "07": returnMonth = "July"; break;
     case "08": returnMonth = "August"; break;
     case "09": returnMonth = "September"; break;
     case "10": returnMonth = "October"; break;
     case "11": returnMonth = "November"; break;
     case "12": returnMonth = "December"; break;
  }
   return returnMonth;
}

或者更好的是,解析日期并获得月份:

$scope.someFunction = function(stringDate) {
      var parsedDate = new Date(stringDate);
      var months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
      return months[parsedDate.getMonth()];
);

或者另一种方式:

{{ someFunction(item.applicationData.EventStartDateTime) | date: "MMMM"}}

然后控制器中的功能,看起来像:

$scope.someFunction = function(dateString) {
     // you should add checks here if "dateString.split("/")[0]" returns anything
    return new Date(dateString.split("/")[0]);
}

您可以在控制器中有一个返回月份的函数。

$scope.getMonthString = function(dateString){
   return $filter('date')(new Date(dateString), 'MMMM');
};

然后你的HTML将是

<span>
    {{getMonthString(item.applicationData.EventStartDateTime)}}
</span>