我有一个挑战,即后端数据始终以UTC时间存储.我们的前端数据始终在CST中显示.我无法访问这个"黑匣子".
我想在我们的数据仓库中反映这一点.它位于欧洲(CET).所以"本地"转换不起作用.
我想知道将UTC时间准确转换的最简单,最直接的方法(我可以将它以纪元毫秒或日期格式'2015-01-01 00:00:00')转换为中央标准时间.(根据夏令时落后5或6小时).
我看到很多关于转换到"本地"时间的线索......再次我不想要这个,我也不想简单地减去6个小时,这将是半年的错误.
有人有主意吗?这似乎是一个非常普遍的问题,但我一直在寻找,但一无所获.
将moment.js与moment-timezone附加组件一起使用可使此任务变得简单.
// construct a moment object with UTC-based input var m = moment.utc('2015-01-01 00:00:00'); // convert using the TZDB identifier for US Central time m.tz('America/Chicago'); // format output however you desire var s = m.format("YYYY-MM-DD HH:mm:ss");
此外,由于您指的是整个北美中部时区,您应该说"中央时间"或"CT".应用于北美的缩写"CST"明确表示UTC-6,而"CDT"缩写将在夏令时期间用于UTC-5.
但是要注意缩写."CST"可能意味着"中国标准时间".(它实际上有五种不同的解释).