```
TimeZone utcTimezone_ = TimeZone.getTimeZone("UTC");
TimeZone _utc = TimeZone.getTimeZone("Zulu");
DateFormat _fo = new SimpleDateFormat("yyyy-MM-dd HH:mm");
_fo.setTimeZone(_utc);
GregorianCalendar gc = new GregorianCalendar(_utc);

System.out.println(gc.getTime());
System.out.println(gc.get(GregorianCalendar.MINUTE));
System.out.println(gc.get(GregorianCalendar.HOUR_OF_DAY));

```

An example of the output when running the above code is:

```
Mon Sep 16 16:40:37 CST 2013
10
7

```

In this case I am expecting minutes to be 40 (not 10) and hour to be 16 (not 7).
What don't I comprehend about all this at the moment?
Thanks.

EDIT:
If I change the timezone to CST which is my local timezone the minute and hour still do not match:

```
TimeZone _utc = TimeZone.getTimeZone("CST");
DateFormat _fo = new SimpleDateFormat("yyyy-MM-dd HH:mm");
_fo.setTimeZone(_utc);
GregorianCalendar gc = new GregorianCalendar(_utc);

System.out.println(gc.getTime());
System.out.println(gc.get(GregorianCalendar.MINUTE));
System.out.println(gc.get(GregorianCalendar.HOUR_OF_DAY));

```

Output is:

```
Mon Sep 16 21:23:48 CST 2013
53
6

```