If you know the timezone that the source date is in, then you will create a SimpleDateFormat for that timezone. The output of the parse command will have a date in your local timezone. You can then create a new SimpleDateFormat for the output timezone.
// starting date string
var dateString = '2017-03-22 09:01:15';
qie.debug('Starting Date: ' + dateString);
// specify the format of the string that you will be converting to a date
var estTimeFormat = new java.text.SimpleDateFormat('yyyy-MM-dd HH:mm:ss');
// specify the timezone that will be used for this conversion
// NOTE: You need to use the full timezone name, not the abbreviation (see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones for timezones)
estTimeFormat.setTimeZone(java.util.TimeZone.getTimeZone("America/New_York"));
qie.debug('New York TimeZone: ' + java.util.TimeZone.getTimeZone("America/New_York"));
// use the simple date format to parse the date. The output date will be in your local timezone, so in this case the output is: 'Wed Mar 22 07:01:02 MDT 2017' for mountain daylight time
var myDate = estTimeFormat.parse(dateString);
qie.debug('Start date converted to local timezone (MDT): ' + myDate);
// NOTE: you can use the qie.formatDate('yyyy-MM-dd HH:mm:ss', myDate);
qie.debug('Formatted local time: ' + qie.formatDate('yyyy-MM-dd HH:mm:ss', myDate));
// now you can convert it to UTC
var utcTimeFormat = new java.text.SimpleDateFormat('yyyy-MM-dd HH:mm:ss');
utcTimeFormat.setTimeZone(java.util.TimeZone.getTimeZone("UTC"));
qie.debug('UTC TimeZone: ' + java.util.TimeZone.getTimeZone("UTC"));
// this will format the output string using the UTC timezone
var utcString = utcTimeFormat.format(myDate);
qie.debug('UTC Date: ' + utcString);