[英]Moment.js Local time to UTC for other time zone
I am trying to convert local time ( client machine in India) to UTC time for this particular date for ( 'US/Eastern' ) timezone 我正在尝试将本地时间(印度的客户端计算机)转换为该特定日期(“美国/东部”)时区的UTC时间
tz - 'US/Eastern'
InputDate - 03/12/2017 23:59:59
Expected output - 03/13/2017 03:59:59
Actual output i am getting - 03/12/2017 18:29
var date1 = moment(inputDate, 'MM/DD/YYYY HH:mm:ss').utc().format('MM/DD/YYYY HH:mm');
var date2 = moment(inputDate, 'MM/DD/YYYY HH:mm:ss').tz(tz).utc().format('MM/DD/YYYY HH:mm');
both date1 and date2 returns correct output if i change my local machine time zone to us/newyork timezone but returns wrong if i am in my local timezone of India/Delhi. 如果我将本地计算机时区更改为us / newyork时区,则date1和date2都返回正确的输出,但是如果我位于印度/德里的本地时区,则date1和date2都返回错误。 Where i am missing anything? 我在哪里想念什么? Thanks in advance. 提前致谢。
Try creating your date with moment.tz(date, timezone); 尝试使用moment.tz(date,timezone);创建日期。
var tz = 'US/Eastern';
var date2 = moment.tz(inputDate, 'MM/DD/YYYY HH:mm:ss', tz).utc().format('MM/DD/YYYY HH:mm')
Try to create the date2
using moment.tz(date, format, timeZone)
: 尝试使用moment.tz(date, format, timeZone)
创建date2
:
var date2 = moment.tz(inputDate, 'MM/DD/YYYY HH:mm:ss', tz)
.utc().format('MM/DD/YYYY HH:mm');
var tz = 'US/Eastern'; var inputDate = '03/12/2017 23:59:59'; var expectedOutput = '03/13/2017 03:59:59'; // Actual output i am getting - 03/12/2017 18:29 var date1 = moment(inputDate, 'MM/DD/YYYY HH:mm:ss').utc().format('MM/DD/YYYY HH:mm'); var date2 = moment.tz(inputDate, 'MM/DD/YYYY HH:mm:ss', tz).utc().format('MM/DD/YYYY HH:mm'); console.log('date1', date1); console.log('date2', date2); console.log('expectedOutput', expectedOutput);
<script src="http://momentjs.com/downloads/moment.js"></script> <script src="http://momentjs.com/downloads/moment-timezone-with-data.js"></script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.