我的HTML中有以下内容:
{{ row.createdDate }}
这个日期来自JSON,看起来像这样:“createdDate = 13-08-2013 03:02”
这会创建一个日期:“13-08-2013 03:27”
我将其更改为:
{{ row.createdDate | date:'MM/dd/yy HH:mm' }}
仍然创造了相同的日期:“13-08-2013 03:27”
似乎日期过滤器对我没有任何作用。问题是日期过滤器要求日期为特定格式,如果是,那么我的日期应该是什么格式。以下是我目前使用MS Web API的格式:
json.SerializerSettings.Converters.Add(
new IsoDateTimeConverter { DateTimeFormat = "dd-MM-yyyy hh:mm" });
答案 0 :(得分:3)
这可能与row.createdDate
的数据类型有关。我认为您需要使用date
类型变量表达式,如:
首先,在控制器中,您可以添加一个函数来从字符串类型变量中获取日期类型变量,如
$scope.GetCreateDate = function () {
return new Date(row.createdDate);
};
然后在绑定表达式中使用该日期类型变量,如下:
{{ row.GetCreateDate | date:'MM/dd/yy HH:mm' }}
答案 1 :(得分:2)
我把Sanjeev的答案与Convert a mySQL date to Javascript date结合起来,制作了一个更通用的版本。
将它放在你的控制器中:
$scope.toJsDate = function(str){
if(!str)return null;
var t = str.split(/[- :]/);
var d = new Date(t[0], t[1]-1, t[2], t[3], t[4], t[5]);
return d;
}
并将其放入HTML:
{{toJsDate('2013-09-19 02:23:51') | date:'MM/dd/yyyy @ h:mma'}}
的过滤器