';日期';angularjs中无时区的过滤器

';日期';angularjs中无时区的过滤器,angularjs,Angularjs,这是输入格式: yyyy:MM:dd'T'HH:MM:ss'Z'(来自json服务的字符串) 所需输出格式: dd-mmm-yyyy 我试过{{txnDate | date:'dd-mm-yyyy'}} 但它不起作用。你约会时采用的格式是什么 快速var A=新日期();a、 toISOString()将为您提供类似于“2015-02-19T13:30:13.347Z”的内容。您收到的格式化字符串不符合任何标准,我担心在大多数浏览器中,将其解析为最新将导致无效日期 所以你可以 把你的约会安排得恰

这是输入格式:
yyyy:MM:dd'T'HH:MM:ss'Z'
(来自json服务的字符串)

所需输出格式:
dd-mmm-yyyy

我试过
{{txnDate | date:'dd-mm-yyyy'}}

但它不起作用。

你约会时采用的格式是什么

快速
var A=新日期();a、 toISOString()将为您提供类似于“2015-02-19T13:30:13.347Z”的内容。您收到的格式化字符串不符合任何标准,我担心在大多数浏览器中,将其解析为最新将导致
无效日期

所以你可以

  • 把你的约会安排得恰到好处

  • 充分利用现有资源。您可以使用
    split
    将字符串拆分为各个组件

  • 比如:

    var a=“yyyy:MM:dd'T'HH:MM:ss'Z'//替换为实际字符串

    b=a.split(':')
    将导致
    [“yyyy”、“MM”、“dd'T'HH”、“MM”、“ss'Z'”)
    为您提供
    b[0]
    b[1]
    中的年份和月份

    对于日期,您可以使用
    b[2]。子字符串(0,2)
    为您提供
    dd

    您将所有日期组件(除了时间组件,您无论如何都不需要时间组件)都设置为
    string

    直接使用它们(作为字符串)或使用这些组件创建日期对象(因为您需要MMM格式的月份)

    $scope.txnDate=新日期(b[0]+'/'+b[1]+'/'+b[2]。子字符串(0,2))


    我相信有更多的方法来优化这一点。评论如果这对您不起作用,将尝试详细说明。

    我从未见过服务器返回这样的日期,请向我们确认该格式。如果您有权访问该服务,您最好修复该格式,那些分隔日期值(年、月和日期)的
    格式非常笨拙。如果格式不是问题,我看您的目标是显示月份的名称,如果这是问题,您应该使用此格式:
    {txnDate | date:'dd-MMM-yyyy'}
    ya..服务中的格式是:@JsonFormat(shape=JsonFormat.shape.STRING,pattern=“yyyy:MM:dd'T'HH:MM:ss'Z',timezone=“UTC”)你好,我返回b[2]。子字符串(0,2)+'/'+b[1]+'/'+b[0];这就是我想要的结果:)谢谢