这是输入格式:
yyyy:MM:dd'T'HH:mm:ss'Z'
(来自json服务的字符串)
必需的输出格式:
dd-mmm-yyyy
我试过{{txnDate | date:'dd-mm-yyyy'}}
但它不起作用..
答案 0 :(得分:1)
您日期的格式是什么?
快速var a = new Date(); a.toISOString();
在控制台中会为您提供类似"2015-02-19T13:30:13.347Z"
的内容。您收到的格式化字符串不遵循任何标准,我担心在大多数浏览器中将其解析为日期将导致Invalid Date
。
所以你可以
以适当的格式获取日期。
充分利用现有资料。您可以使用split
将字符串分解为单个组件。
类似的东西:
var a = "yyyy:MM:dd'T'HH:mm:ss'Z'" //Replace with actual string
b=a.split(':')
将导致["yyyy", "MM", "dd'T'HH", "mm", "ss'Z'"]
在b[0]
和b[1]
中为您提供年份和月份。
到目前为止,您可以使用b[2].substring(0,2)
为您提供dd
。
您有string
所有日期组件(除时间组件外,您不需要)。
直接使用它们(作为字符串)或使用这些组件创建日期对象(因为您需要MMM格式的月份)。
$scope.txnDate = new Date(b[0]+'/'+b[1]+'/'+b[2].substring(0,2));
我相信有更多方法可以优化它。如果这对您不起作用,请注意,将尝试详细说明。