javascript - CET 时区中的日期到用户时区的日期

标签 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.log(toTimeZone('17/12/2017 19:34', tzGuess))

但是我怎么能告诉moment我第一次通过的日期是CET日期呢?

谢谢!

最佳答案

您可以使用moment.tz使用给定时区解析时间字符串的函数(例如'Europe/Madrid')。

问题是:CET 是什么意思?如果您的输入具有固定的 UTC+1 偏移量(如中欧时间),那么您可以使用 RobG 的解决方案。如果你必须同时考虑CET和CEST,我认为最好的解决方案是使用moment.tz .

这里是一个实时代码示例:

const tzGuess = moment.tz.guess()

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

console.log(toTimeZone('17/12/2017 19:34', tzGuess))
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.19.4/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.13/moment-timezone-with-data-2012-2022.min.js"></script>

关于时区的一个很好的资源是 timezone tag info page .

关于javascript - CET 时区中的日期到用户时区的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47860230/

相关文章:

javascript - Node.js Express 与 PostgresQL,sequelize 出错

date - 在sqoop导入作业上设置日期格式参数

javascript - getDay() 代码显示错误的日期 Javascript

javascript - 如何使用 JS 验证表单,然后使用 PHP 和 Ajax 验证表单?

javascript - 将 SQL DDL 语句转换为 JSON 格式

ios - 从 Swift 中的当前日期获取下周二和周四

php - MySQL:保持服务器时区或用户时区?

java - Android 中的本地时间

python - 如何在 Python 中以毫秒为单位获取当前时间?

JavaScript RegEx - 前 2 个字符字母,其余数字或只是数字