program-id. calendar. configuration section. repository. class JTimeZone as "java.util.TimeZone" class JStringArray as "java.lang.String[]" class JSimpleTimeZone as "java.util.SimpleTimeZone" class JCalendar as "java.util.Calendar" class JGregorianCalendar as "java.util.GregorianCalendar" . data division. working-storage section. 77 ids object reference JStringArray. 77 pdt object reference JSimpleTimeZone. 77 calendar object reference JGregorianCalendar. 77 zone-offset signed-long. 77 dst-offset signed-long. procedure division. main. * get the supported ids for GMT-8 (Pacific Standard Time) set ids to JTimeZone:>getAvailableIDs(-28800000). if ids:>length = 0 then stop run. * create a Pacific Standard Time time zone set pdt to JSimpleTimeZone:>new(-28800000, ids(0)). * set up rules for daylight savings time pdt:>setStartRule(JCalendar:>MARCH, 8, JCalendar:>SUNDAY, 7200000). pdt:>setEndRule(JCalendar:>NOVEMBER, 1, JCalendar:>SUNDAY, 7200000). * create a GregorianCalendar set calendar to JGregorianCalendar:>new(pdt). display "Getting information about Jan 26, 2010". calendar:>set(2010, 0, 26). display "ERA: " calendar:>get(JCalendar:>ERA). display "YEAR: " calendar:>get(JCalendar:>YEAR). display "MONTH: " calendar:>get(JCalendar:>MONTH). display "WEEK_OF_YEAR: " calendar:>get(JCalendar:>WEEK_OF_YEAR). display "WEEK_OF_MONTH: " calendar:>get(JCalendar:>WEEK_OF_MONTH). display "DATE: " calendar:>get(JCalendar:>DATE). display "DAY_OF_MONTH: " calendar:>get(JCalendar:>DAY_OF_MONTH). display "DAY_OF_YEAR: " calendar:>get(JCalendar:>DAY_OF_YEAR). display "DAY_OF_WEEK: " calendar:>get(JCalendar:>DAY_OF_WEEK). display "DAY_OF_WEEK_IN_MONTH: " calendar:>get(JCalendar:>DAY_OF_WEEK_IN_MONTH). display "AM_PM: " calendar:>get(JCalendar:>AM_PM). display "HOUR: " calendar:>get(JCalendar:>HOUR). display "HOUR_OF_DAY: " calendar:>get(JCalendar:>HOUR_OF_DAY). display "MINUTE: " calendar:>get(JCalendar:>MINUTE). display "SECOND: " calendar:>get(JCalendar:>SECOND). display "MILLISECOND: " calendar:>get(JCalendar:>MILLISECOND). set zone-offset to calendar:>get(JCalendar:>ZONE_OFFSET). divide zone-offset by 3600000 giving zone-offset. display "ZONE_OFFSET: " zone-offset. set dst-offset to calendar:>get(JCalendar:>DST_OFFSET). divide dst-offset by 3600000 giving dst-offset. display "DST_OFFSET: " dst-offset. stop run.