javascript - 如何将时间从UTC更改为moment.js中选择的时区?
问题描述
假设我有这样的约会:
"2000-01-01T01:00:00Z"
它位于 UTC 时区。我想将时间移到Europe/Copenhagen
时区,这样就可以了"2000-01-01T02:00:00"
。
我想用moment-timezone
它来做。但是问题是它总是使用我的本地时区(不是Europe/Copenhagen
)。我尝试了多种方法,例如:
const date = '2000-01-01T01:00:00Z';
return moment(date).tz('Europe/Copenhagen').format('YYYY-MM-DDTHH:mm:ss');
但参考点仍然是我当地的时区。我根本不希望它使用我的本地时区。如何实现?
解决方案
我尝试了两种选择。
时区由日期末尾的“Z”表示
第一个喜欢你的人:
moment('2000-01-01T01:00:00Z').tz('Europe/Copenhagen').format('YYYY-MM-DDTHH:mm:ss');
第二个很棘手:
moment.tz('2000-01-01T01:00:00Z', 'UTC').tz('Europe/Copenhagen').format('YYYY-MM-DDTHH:mm:ss');
我得到:
2000-01-01T02:00:00
有两个选项。你用的是什么版本的moment?
推荐阅读
- javascript - 如何将 javascript 缓冲区转换为 c/c++ API 的字节数组?
- typescript - 打字稿:基于参数中存在的键的映射返回类型
- spring-boot - Google App Engine 是否支持 java 柔性环境中的 session_affinity?
- c# - 希伯来文化在服务器上没有希伯来日历
- python - SQLite & Python - 获取列中所有值的最快方法?
- c# - 使用 DinkToPdf 库处理将 html 转换为 PDF 需要大量时间
- javascript - 如何对输入 HTML 文本进行后处理以防止 WAF/OWASP 错误?
- php - “调用未定义的方法 Intervention\Image\Image::make()”
- c++ - std::function 接受具有不同传递类型的参数的 lambda 函数(通过 ref,通过 val)
- less - 如何在选择器中使用变量