无法使用ios / safari在离子2上显示日期

时间:2018-01-18 05:08:01

标签: angular cordova ionic-framework safari ionic2

您好我再次面临与ios / safari相关的日期和时间相关的问题。在chrome / android中它正确得到了正确但是当来到ios / Safari时它显示了未来的日期。

下面的

是我从服务器获取的json响应

FromCurrentDate:"2018-01-17T06:00:00"
FromPreviousDate:"2018-01-16T06:00:00"

ToCurrentDate:"2018-01-17T20:14:08.067"
ToPreviousDate:"2018-01-16T20:14:08.067"

,在Android或Chrome中,它显示如下,数据准确

enter image description here

但在Safari中它的位置显示不正确

enter image description here

它在iOS中显示未来日期,下面是我的模板文件/ HTML文件

<ion-card *ngFor="let singleTable of resultData;let ind=index">

        <p>Current{{singleTable[0].FromCurrentDate|date: 'dd/MM/yyyy'}} to {{singleTable[0].ToCurrentDate|date: 'dd/MM/yyyy'}}Previous :{{singleTable[0].FromPreviousDate|date: 'dd/MM/yyyy'}} to {{singleTable[0].ToPreviousDate|date: 'dd/MM/yyyy'}}</p>
    </ion-card>

下面是我在设备中的时区 enter image description here

enter image description here

2 个答案:

答案 0 :(得分:0)

这不是问题,而是时区,

请检查ios / safari的时区与android和chrome相同。

  

如果你想在遍布全局的地方显示相同的时间,那么传递格式化   从服务器端开始的时间,如果时间是从设备格式化的话   然后它将根据设备时区进行转换。

答案 1 :(得分:0)

问题是,Safari无法像chrome一样理解“ dd-MM-yyyy”格式。您必须使用Date()或Moment()将响应日期转换为其他格式,例如“ MM / DD / YYYY HH:mm:ss”,然后在html中使用该值。您可以使用同一管道运算符来设置要在屏幕上显示的日期格式。