Javascript 显示为从时刻开始的日期,不考虑时区

Javascript 显示为从时刻开始的日期,不考虑时区,javascript,angular,moment-timezone,Javascript,Angular,Moment Timezone,我对矩对象进行了控制台日志记录,并显示了以下结果: 我想在UI上显示的是2021年3月18日星期四18:00:00,与用户位置和当前时区无关 我试过这样的东西 console.log(moment.utc(this.response_d)); this.res_d = moment.utc(this.response_d).utcOffset('+5:30').format('YYYY-MM-DD h:mm:ss A'); 并在html文件中显示为: <div class=&q

我对矩对象进行了控制台日志记录,并显示了以下结果:

我想在UI上显示的是2021年3月18日星期四18:00:00,与用户位置和当前时区无关

我试过这样的东西

console.log(moment.utc(this.response_d));
    this.res_d = moment.utc(this.response_d).utcOffset('+5:30').format('YYYY-MM-DD h:mm:ss A');
并在html文件中显示为:

<div class="ItemBox QuantityGrid MiniGrid responseDate">
       Response due date :     
        {{ res_d }}  
    </div>

答复截止日期:
{{resu d}}
但它显示了
响应截止日期:2021-03-18 12:30:00 PM


我没有关于您的响应\u数据\u字符串如何在您的TypeScript控制器中获取的详细信息。
但我建议您使用[angular date pipe](https://angular.io/api/common/DatePipe)而不是在html模板中使用矩实例。
但是,如果您愿意,您是否尝试强制格式化您的力矩实例,如下所示:
{{ moment(response_date_string,'YYYY-MM-DD HH:mm:ss').toDate()|date  }}  

如果这不起作用,您可以使用
{{response\u date\u string}调试response\u date\u string变量

在我的回复_date_string中,我得到了616090400000,我需要显示带有时间的日期,在这种情况下,应该是2021-03-18 18:00:00@rahularyansharma通过测试您的评论时间戳和您编辑的帖子时间戳,这两个时间是不同的,其中1616070600000等于18-03-2021 13:30,616090400000等于10-07-1989 18:13。第一步:您必须从后端修复您的值是否正确。第二步:要将时间戳格式化为您之前在文章中提到的正确格式,您可以使用此格式化过程
矩(yourTimeStamp).format('ddd MMM DD YYYY HH:mm:ss')
,而不使用
|date
,因为.format(..)将返回字符串而不是日期实例,您也可以在此链接中通过以下方式重播您的流程:查看谢谢,但当我运行以下var now=moment(1616070600000).format('ddd MMM DD YYYY HH:mm:ss');console.log(现在);它的“Thu Mar 18 2021 18:00:00”是正确的,但在您的案例中是18-03-2021 13:30。可能你在不同的时区,那就是为什么会有这种差异,但我想要一个解决方案,无论用户位置或时区如何,它都应该显示“Thu Mar 18 2021 18:00:00”。我认为最好的方法是使日期标准化,即使用UTC date forme而不是本地区域。MomentJS提供了很多解析UTC的功能,但有一点困难的是在后端使用相同的功能使事情相对化。
{{ moment(response_date_string,'YYYY-MM-DD HH:mm:ss').toDate()|date  }}