Javascript 将UTC日期字符串转换为另一个保持相同格式的时区

Javascript 将UTC日期字符串转换为另一个保持相同格式的时区,javascript,jquery,date,timezone,Javascript,Jquery,Date,Timezone,我想将UTC日期字符串转换为当前用户时区,并维护日期字符串的格式 例如,我有以下代码: var data = '2017-04-24 12:06:37'; var date = new Date(data+' UTC'); console.log(date.toString()); // logs "Mon Apr 24 2017 08:06:37 GMT-0400 (Eastern Daylight Time)" 如何使其以完全相同的格式动态输出新的日期字符串?在将其转换为日期之前,必须将

我想将UTC日期字符串转换为当前用户时区,并维护日期字符串的格式

例如,我有以下代码:

var data = '2017-04-24 12:06:37';
var date = new Date(data+' UTC');

console.log(date.toString()); // logs "Mon Apr 24 2017 08:06:37 GMT-0400 (Eastern Daylight Time)"

如何使其以完全相同的格式动态输出新的日期字符串?

在将其转换为日期之前,必须
UTC
添加到字符串

要将任何日期转换为UTC字符串,可以使用

 var UTCstring = (new Date()).toUTCString();
请参阅我的代码片段。它比较了五种不同的方法

var日期=新日期('2017-04-24 12:06:37 PM UTC');
var local=date.toString();
var utc=date.toutString();
var iso=date.toISOString();
var dateString=date.toDateString();
控制台日志(日期);
console.log(本地);
控制台日志(utc);
控制台日志(iso);

log(日期字符串)我与momentjs一起使用的解决方案:


time.utc(value.local().format('YYYY-MM-DD HH:MM:ss')

你所说的“动态”到底是什么意思?您的意思是输入格式可能会有所不同,您希望输出格式与输入格式相同吗?如果是这样的话,您可以处理哪些可能的输入格式?或者你的意思是什么?是的,我刚刚使用了moment.js。你应该发布你的解决方案作为答案,或者删除你的问题。谢谢。这并没有解决这个问题,你用粗体写的部分,OP已经在做了。因为不清楚OP的总体意思,我向他展示了一些如何安排时间的方法。谢谢你的帮助。但一般来说,如果你不确定OP的意思,你应该在评论中要求澄清。另一种可接受的方法是假设回答,如“如果你是指foo,那么答案是……”,但除非OP确认他们的意图,否则这通常不会为你赢得选票。不管是哪种方式,用主题的辅助信息回答都不是一个好方法,尤其是通过谷歌搜索很容易找到的信息,并且已经在其他StackOverflow问题上流行。记住,StackOverflow的目标不仅仅是回答一个人的问题,但要提供对整个社区有用的问答对的概要。如果答案与问题不符,就会变成噪音。