import java.text.SimpleDateFormat ;
import java.util.Calendar ;
import java.util.Date ;
import java.util.TimeZone ;
public class Main {
/**
* Utility function to convert java Date to TimeZone format
* @param date
* @param format
* @param timeZone
* @return
*/
// null check
if ( date == null ) return null ;
// create SimpleDateFormat object with input format
// default system timezone if passed null or empty
if ( timeZone == null || "" .equalsIgnoreCase ( timeZone.trim ( ) ) ) {
timeZone
= Calendar .
getInstance ( ) .
getTimeZone ( ) .
getID ( ) ; }
// set timezone to SimpleDateFormat
sdf.
setTimeZone ( TimeZone .
getTimeZone ( timeZone
) ) ; // return Date in required format with timezone as String
return sdf.format ( date) ;
}
public static void main
( String [ ] args
) { //Test formatDateToString method
System .
out .
println ( "Default Date:" + date.
toString ( ) ) ; System .
out .
println ( "System Date: " + formatDateToString
( date,
"dd MMM yyyy hh:mm:ss a" ,
null ) ) ; System .
out .
println ( "System Date in PST: " + formatDateToString
( date,
"dd MMM yyyy hh:mm:ss a" ,
"PST" ) ) ; System .
out .
println ( "System Date in IST: " + formatDateToString
( date,
"dd MMM yyyy hh:mm:ss a" ,
"IST" ) ) ; System .
out .
println ( "System Date in GMT: " + formatDateToString
( date,
"dd MMM yyyy hh:mm:ss a" ,
"GMT" ) ) ; }
}
aW1wb3J0IGphdmEudGV4dC5TaW1wbGVEYXRlRm9ybWF0OwppbXBvcnQgamF2YS51dGlsLkNhbGVuZGFyOwppbXBvcnQgamF2YS51dGlsLkRhdGU7CmltcG9ydCBqYXZhLnV0aWwuVGltZVpvbmU7CgpwdWJsaWMgY2xhc3MgTWFpbiAgewoKCS8qKgoJICogVXRpbGl0eSBmdW5jdGlvbiB0byBjb252ZXJ0IGphdmEgRGF0ZSB0byBUaW1lWm9uZSBmb3JtYXQKCSAqIEBwYXJhbSBkYXRlCgkgKiBAcGFyYW0gZm9ybWF0CgkgKiBAcGFyYW0gdGltZVpvbmUKCSAqIEByZXR1cm4KCSAqLwoJcHVibGljIHN0YXRpYyBTdHJpbmcgZm9ybWF0RGF0ZVRvU3RyaW5nKERhdGUgZGF0ZSwgU3RyaW5nIGZvcm1hdCwKCQkJU3RyaW5nIHRpbWVab25lKSB7CgkJLy8gbnVsbCBjaGVjawoJCWlmIChkYXRlID09IG51bGwpIHJldHVybiBudWxsOwoJCS8vIGNyZWF0ZSBTaW1wbGVEYXRlRm9ybWF0IG9iamVjdCB3aXRoIGlucHV0IGZvcm1hdAoJCVNpbXBsZURhdGVGb3JtYXQgc2RmID0gbmV3IFNpbXBsZURhdGVGb3JtYXQoZm9ybWF0KTsKCQkvLyBkZWZhdWx0IHN5c3RlbSB0aW1lem9uZSBpZiBwYXNzZWQgbnVsbCBvciBlbXB0eQoJCWlmICh0aW1lWm9uZSA9PSBudWxsIHx8ICIiLmVxdWFsc0lnbm9yZUNhc2UodGltZVpvbmUudHJpbSgpKSkgewoJCQl0aW1lWm9uZSA9IENhbGVuZGFyLmdldEluc3RhbmNlKCkuZ2V0VGltZVpvbmUoKS5nZXRJRCgpOwoJCX0KCQkvLyBzZXQgdGltZXpvbmUgdG8gU2ltcGxlRGF0ZUZvcm1hdAoJCXNkZi5zZXRUaW1lWm9uZShUaW1lWm9uZS5nZXRUaW1lWm9uZSh0aW1lWm9uZSkpOwoJCS8vIHJldHVybiBEYXRlIGluIHJlcXVpcmVkIGZvcm1hdCB3aXRoIHRpbWV6b25lIGFzIFN0cmluZwoJCXJldHVybiBzZGYuZm9ybWF0KGRhdGUpOwoJfQoKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKCQkvL1Rlc3QgZm9ybWF0RGF0ZVRvU3RyaW5nIG1ldGhvZAoJCURhdGUgZGF0ZSA9IG5ldyBEYXRlKCk7CgkJU3lzdGVtLm91dC5wcmludGxuKCJEZWZhdWx0IERhdGU6IitkYXRlLnRvU3RyaW5nKCkpOwoJCVN5c3RlbS5vdXQucHJpbnRsbigiU3lzdGVtIERhdGU6ICIrZm9ybWF0RGF0ZVRvU3RyaW5nKGRhdGUsICJkZCBNTU0geXl5eSBoaDptbTpzcyBhIiwgbnVsbCkpOwoJCVN5c3RlbS5vdXQucHJpbnRsbigiU3lzdGVtIERhdGUgaW4gUFNUOiAiK2Zvcm1hdERhdGVUb1N0cmluZyhkYXRlLCAiZGQgTU1NIHl5eXkgaGg6bW06c3MgYSIsICJQU1QiKSk7CgkJU3lzdGVtLm91dC5wcmludGxuKCJTeXN0ZW0gRGF0ZSBpbiBJU1Q6ICIrZm9ybWF0RGF0ZVRvU3RyaW5nKGRhdGUsICJkZCBNTU0geXl5eSBoaDptbTpzcyBhIiwgIklTVCIpKTsKCQlTeXN0ZW0ub3V0LnByaW50bG4oIlN5c3RlbSBEYXRlIGluIEdNVDogIitmb3JtYXREYXRlVG9TdHJpbmcoZGF0ZSwgImRkIE1NTSB5eXl5IGhoOm1tOnNzIGEiLCAiR01UIikpOwoJfQoKfQ==