Moment.js 本地时间到其他时区的 UTC

Moment.js Local time to UTC for other time zone

我正在尝试将本地时间(印度的客户端计算机)转换为这个特定日期的 UTC 时间('US/Eastern')时区

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'); 

日期 1 和日期 2 returns 如果我将本地计算机时区更改为 us/newyork 时区则输出正确,但如果我在 India/Delhi 的本地时区则 returns 错误].我在哪里遗漏了什么?提前致谢。

尝试使用 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')

尝试使用 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>