Javascript CET时区中的日期发送给用户';s时区

Javascript CET时区中的日期发送给用户';s时区,javascript,date,datetime,momentjs,Javascript,Date,Datetime,Momentjs,我有一个字符串日期列表,如下所示:'17/12/2017 19:34'。它们是CET日期 如何将其转换为用户的浏览器日期 我正在这样做: const tzGuess = moment.tz.guess() export const toTimeZone = (time) => { const format = 'DD/MM/YYYY HH:mm' return moment(time, format).tz(tzGuess).format(format) } console.l

我有一个字符串日期列表,如下所示:
'17/12/2017 19:34'
。它们是
CET
日期

如何将其转换为用户的浏览器日期

我正在这样做:

const tzGuess = moment.tz.guess()

export const toTimeZone = (time) => {
  const format = 'DD/MM/YYYY HH:mm'
  return moment(time, format).tz(tzGuess).format(format)
}

console.log(toTimeZone('17/12/2017 19:34', tzGuess))
但是,我怎么能对
时刻
说我首先经过的日期是
CET
日期呢


谢谢

如果没有moment.js,将字符串解析为日期,将其视为UTC,然后调整CET偏移(+0100)。然后,可以使用客户端的本地时间值对其进行格式化:

//以DD/MM/YYYY HH:MM格式解析日期
//调整CET时区
函数解析{
var b=s.split(/\D/);
//从月份和小时中减去1
var d=新日期(Date.UTC(b[2],b[1]-1,b[0],b[3]-1,b[4]);
返回d;
}
var s='2017年12月17日19:34';
log(parseCET.toString())您可以使用函数来解析使用给定时区的时间字符串(例如,
'Europe/Madrid'

问题是:你说CET是什么意思?如果您的输入具有固定的UTC+1偏移量(如中欧时间),则可以使用RobG的解决方案。如果你必须同时考虑CET和CEST,我认为最好的选择是使用./P> 下面是一个实时代码示例:

const tzGuess=moment.tz.guess()
常数到时区=(时间)=>{
常量格式='DD/MM/YYYY HH:MM'
返回时刻.tz(时间,格式,'Europe/Madrid').tz(tzGuess).format(格式)
}
console.log(toTimeZone('17/12/2017 19:34',tzGuess))


这太完美了。谢谢马德里从3月底到10月底实行夏时制(CEST)。OP似乎只需要CET。