PrimeNG日历如何处理时区<p-calendar>

时间:2019-02-13 20:46:53

标签: angular date primeng

在使用PrimeNG时遇到问题,我有多个用户使用不同时区的表单;但是,我希望for的所有用户在EST中提交其表单日历。看来,无论用户选择什么日期/时间提交表单,它都将转换为浏览器/用户时区。如何禁用或实施此功能?因此,当通过JSON对象提交表单时,它仅保留一个静态时区(GMT)

当前代码

表单HTML

<p-calendar required [(ngModel)]="entry.reportedDate" name="reportedDate" #reportedDate="ngModel" [showIcon]="true" [showTime]="true" dateFormat="mm/dd/y 'EST'" hourFormat="24"></p-calendar>

Front End

json对象

{"reportedDate": "2019-02-13T15:00:16.000Z"}

前端HTML

<td style="border-right:3px solid #a5d891;">{{ m.reportedDate | date: 'EEEE, MMMM d, y, HH:mm'}} EST</td>

因此,当我的其他时区用户使用此表格时,reportedDate将调整为他们的时区,我不希望这种情况发生。

我只是一个标准时区日期,该日期从json对象传递到我的后端,然后无需操作即可呈现到前端

希望这很有意义,谢谢您的帮助!

1 个答案:

答案 0 :(得分:0)

PrimeNG不允许您指定时区。 但是,您可以自己进行计算以获得所需的时区,然后提交该值。

例如,您可以使用 new Date().getTimezoneOffset()获取用户的时区偏移量,并将EST时间的差值添加到Date Value。

此外,您应该使用<td> {{ m.reportedDate | date: 'EEEE, MMMM d, y, HH:mm':'-500' }} EST </td>以EST时间显示时间。