Frage 4
java.util.Calendar calendar = java.util.Calendar.getInstance(); calendar.set(2000, 12, 6, 14, 42); System.out.println( new java.text.SimpleDateFormat( "yyyy-mm-dd'T'hh:mm") .format( calendar.getTime()));

calendar.set(int year, int month, int date, int hourOfDay, int minute, int second)
month beginnt bei 0, also 0 = Januar, 1 = Februar, ..., 12 = Januar + 1 Jahr (Überlauf)
Details unter
Java API Documentation - java.util.Calendar.set(int,int,int,int,int,int)
yyyy-mm-dd'T'hh:mm bedeutet Jahr-Minuten-Tag T Stunden(1-12):Minuten
Üblich und gebräuchlich ist folgendes Pattern yyyy-MM-dd'T'HH:mm:ss (ISO 8601)
Details unter
java.text.SimpleDateFormat - Date and Time Patterns
Besser ist die Verwendung der neuen Date Time Api (Java 8)
Package java.time.format