Time zone manipulation problem

Hi!

I want to manipulate date with respect to some customized formats. I'm done successfully but the only problem is in Time Zone representation and manipulation. I want to show time zone information like GMT+01:00 or 揅EST/CST?but it is showing like 揅entral European Time?

The Sample Code

===============

public String selectDateType(java.util.Calendar a_objDateTime, String a_strDateType){

m_strDate = a_objDateTime.get(Calendar.DATE) < 10 ?"0"+a_objDateTime.get(Calendar.DATE) :""+a_objDateTime.get(Calendar.DATE);

m_strMonth = (a_objDateTime.get(Calendar.MONTH)+1) < 10 ?"0"+(a_objDateTime.get(Calendar.MONTH)+1) :""+(a_objDateTime.get(Calendar.MONTH)+1);

m_strYear =""+a_objDateTime.get(Calendar.YEAR);

m_strHour = a_objDateTime.get(Calendar.HOUR_OF_DAY) < 10 ?"0"+a_objDateTime.get(Calendar.HOUR_OF_DAY) :""+a_objDateTime.get(Calendar.HOUR_OF_DAY);

m_strMinute = a_objDateTime.get(Calendar.MINUTE) < 10 ?"0"+a_objDateTime.get(Calendar.MINUTE) :""+a_objDateTime.get(Calendar.MINUTE);

m_strSecond = a_objDateTime.get(Calendar.SECOND) < 10 ?"0"+a_objDateTime.get(Calendar.SECOND) :""+a_objDateTime.get(Calendar.SECOND);

if(a_strDateType.equalsIgnoreCase("SHORT")){

m_strDateTime = m_strDate+"/"+m_strMonth+"/"+m_strYear;

System.out.println("JAVA CALENDAR >> SHORT DATE..: " + m_strDateTime);

}

elseif(a_strDateType.equalsIgnoreCase("FULL")){

Date now = Calendar.getInstance().getTime();

DateFormat df = DateFormat.getDateInstance(DateFormat.FULL);

m_strDateTime = df.format(now) +" "+m_strHour+":"+m_strMinute+

":"+m_strSecond +" "+TimeZone.getDefault().getDisplayName();

System.out.println("JAVA CALENDAR >> FULL DATE..: " + m_strDateTime);

}

elseif(a_strDateType.equalsIgnoreCase("US")){

m_strDateTime = m_strMonth+"/"+m_strDate+"/"+m_strYear+" "+

m_strHour+":"+m_strMinute+":"+m_strSecond +" "+

TimeZone.getDefault().getDisplayName();

System.out.println("JAVA CALENDAR >> US DATE..: " + m_strDateTime);

}

elseif(a_strDateType.equalsIgnoreCase("EU")){

m_strDateTime = m_strDate+"/"+m_strMonth+"/"+m_strYear+" "+

m_strHour+":"+m_strMinute+":"+m_strSecond +" "+

TimeZone.getDefault().getDisplayName();

System.out.println("JAVA CALENDAR >> EU DATE..: " + m_strDateTime);

}

else{

Date now = Calendar.getInstance().getTime();

DateFormat df = DateFormat.getDateInstance(DateFormat.FULL);

m_strDateTime = df.format(now) +" "+m_strHour+":"+m_strMinute+

":"+m_strSecond +" "+TimeZone.getDefault().getDisplayName();

System.out.println("JAVA CALENDAR >> FULL DATE..: " + m_strDateTime);

}

return m_strDateTime;

}

The Sample Output

================

JAVA CALENDAR >> FULL DATE..: Thursday, May 17, 2007 14:02:59 Central European Time

JAVA CALENDAR >> SHORT DATE..: 17/05/2007

JAVA CALENDAR >> EU DATE..: 17/05/2007 14:02:59 Central European Time

JAVA CALENDAR >> US DATE..: 05/17/2007 14:02:59 Central European Time

JAVA CALENDAR >> FULL DATE..: Thursday, May 17, 2007 14:02:59 Central European Time

[4979 byte] By [k5ma] at [2007-11-27 4:40:26]
# 1
I can only assume you have not heard of the SimpleDateFormat class yet. http://java.sun.com/j2se/1.5.0/docs/api/java/text/SimpleDateFormat.html
cotton.ma at 2007-7-12 9:51:35 > top of Java-index,Java Essentials,Java Programming...
# 2

Thanx Dear !

It resolve my problem.

The Sample Code

===============

String pattern = "EEEEEEEEEEEE, MMMMMMMMMMMM d, yyyy H:mm:ss z";

SimpleDateFormat date_format = new SimpleDateFormat(pattern);

m_strDateTime = date_format.format(now);

The Sample Output

================

In case of day light saving is off

JAVA CALENDAR >> FULL DATE..: Thursday, May 17, 2007 14:11:15 GMT+01:00

In case of day light saving is on

JAVA CALENDAR >> FULL DATE..: Thursday, May 17, 2007 15:12:04 CEST

both outputs are acceptable. Thanx again for good guidance.

k5ma at 2007-7-12 9:51:35 > top of Java-index,Java Essentials,Java Programming...