javascript - 使用时刻将字符串日期和时间转换为基于时区的 UTC
问题描述
我在nodejs服务器中使用时刻将本地时间从前端转换为UTC。
我的时间格式是date = '10-07-2020 08:45 PM'
字符串格式。当我使用moment(date).format()
它的转换格式到这个2020-10-07 20:45:00+05:30
时区时,是基于服务器添加的,我有timezone = '+4:00'
这是我的本地时区。我想根据timezone
不基于服务器时区的字段将我的日期字符串转换为 UTC。我怎样才能做到这一点?
我尝试了以下方法,但没有得到正确的解决方案
moment.utc(moment(date).utcOffset(timezone)).format('YYYY-MM-DD HH:mm:ss')
任何人请建议
解决方案
您可以使用moment-timezone从字符串和特定时区创建日期。为此,您需要指定格式和相应的时区。像这样的东西:
const date = moment.tz("10-07-2020 08:45 pm", "M-D-YYYY hh:mm a", "Europe/Samara");
console.log(date.toISOString());
<script src="https://momentjs.com/downloads/moment.min.js"></script>
<script src="https://momentjs.com/downloads/moment-timezone-with-data.min.js"></script>
推荐阅读
- snowflake-cloud-data-platform - 微观策略:如何增加批量模式下插入的行数
- oracle - 在 Oracle VARRAY 集合中搜索值
- java - 集合接口中的 containsall 方法如何在 java 中工作?
- python-3.x - 几个月内给定每小时的时间平均值
- json - 想要使用 JQ 向 JSON 添加更多父键
- sql - Oracle SQL - 将列与“或”位函数组合
- linux - Bash Script - 如何获取命令的结果并使用它
- python - 用于在不重复代码的情况下分派到多个类似实例的包装类
- discord.py-rewrite - 如何格式化默认帮助命令
- json - Databricks 写入 Json 文件太慢