在使用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>
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对象传递到我的后端,然后无需操作即可呈现到前端
希望这很有意义,谢谢您的帮助!
答案 0 :(得分:0)
PrimeNG不允许您指定时区。 但是,您可以自己进行计算以获得所需的时区,然后提交该值。
例如,您可以使用
new Date().getTimezoneOffset()
获取用户的时区偏移量,并将EST时间的差值添加到Date Value。
此外,您应该使用<td> {{ m.reportedDate | date: 'EEEE, MMMM d, y, HH:mm':'-500' }} EST </td>
以EST时间显示时间。