[英]I need to convert UTC date and time based on the local timezone using moment.js, how to convert date from UTC to timezone in html
[英]convert string date and time to utc based on timezone using moment
我在 nodejs 服务器中使用 moment 将本地时间从前端转换为 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", "MD-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>
而不是瞬间,也许使用intl DateTimeFormat ?
这里有一些可能性
const options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric', hour: 'numeric', minute: 'numeric', second: 'numeric', }; const date = new Date('10-07-2020 08:45 PM') console.log(date) options.timeZone = 'Europe/Ulyanovsk'; options.timeZoneName = 'short'; console.log(new Intl.DateTimeFormat('en-US', options).format(date));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.