/* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

import java.time.*;
import java.time.format.*;

/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
	public static void main (String[] args) throws java.lang.Exception
	{

        String input = "2017-01-23 12:34 PM";
        DateTimeFormatter f = DateTimeFormatter.ofPattern ( "uuuu-MM-dd hh:mm a" );
        LocalDateTime ldt = LocalDateTime.parse ( input , f );

        ZoneId z = ZoneId.of ( "America/Montreal" );
        ZonedDateTime zdt = ldt.atZone ( z );

        Instant instant = zdt.toInstant ();

        String output = instant.toString ()
                .replace ( "T" , " " ) // Substitute SPACE for T.
                .replace ( "Z" , " Z" ); // Insert SPACE before Z.

        System.out.println ( "ldt.toString(): " + ldt );
        System.out.println ( "zdt.toString(): " + zdt );
        System.out.println ( "instant.toString(): " + instant );
        System.out.println ( "output: " + output );

	}
}