/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
// String tz = "Europe/London";
String tz
[] = {"IST",
"Asia/Kolkata",
"Europe/London"};
System.
out.
println("Testing timezone: "+s
); System.
out.
println(nthWeekdayOfMonth
(6,
9,
2016,
3,
TimeZone.
getTimeZone(s
))); System.
out.
println(nthWeekdayOfMonth
(6,
10,
2016,
3,
TimeZone.
getTimeZone(s
))); System.
out.
println(nthWeekdayOfMonth
(6,
11,
2016,
3,
TimeZone.
getTimeZone(s
))); System.
out.
println(nthWeekdayOfMonth
(6,
0,
2017,
3,
TimeZone.
getTimeZone(s
))); System.
out.
println(nthWeekdayOfMonth
(6,
1,
2017,
3,
TimeZone.
getTimeZone(s
))); System.
out.
println(nthWeekdayOfMonth
(6,
2,
2017,
3,
TimeZone.
getTimeZone(s
))); }
}
public static Date nthWeekdayOfMonth
(int dayOfWeek,
int month,
int year,
int week,
TimeZone timeZone
) { calendar.setTimeZone(timeZone);
//calendar.set(Calendar.WEEK_OF_MONTH, week);
return calendar.getTime();
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbnsKCgkJLy8gU3RyaW5nIHR6ID0gIkV1cm9wZS9Mb25kb24iOwoJCVN0cmluZyB0eltdID0geyJJU1QiLCAiQXNpYS9Lb2xrYXRhIiwgIkV1cm9wZS9Mb25kb24ifTsKCgkJZm9yKFN0cmluZyBzOiB0eil7CgkJCVN5c3RlbS5vdXQucHJpbnRsbigiVGVzdGluZyB0aW1lem9uZTogIitzKTsKCQkJU3lzdGVtLm91dC5wcmludGxuKG50aFdlZWtkYXlPZk1vbnRoKDYsIDksIDIwMTYsIDMsIFRpbWVab25lLmdldFRpbWVab25lKHMpKSk7CgkJCVN5c3RlbS5vdXQucHJpbnRsbihudGhXZWVrZGF5T2ZNb250aCg2LCAxMCwgMjAxNiwgMywgVGltZVpvbmUuZ2V0VGltZVpvbmUocykpKTsKCQkJU3lzdGVtLm91dC5wcmludGxuKG50aFdlZWtkYXlPZk1vbnRoKDYsIDExLCAyMDE2LCAzLCBUaW1lWm9uZS5nZXRUaW1lWm9uZShzKSkpOwoJCQlTeXN0ZW0ub3V0LnByaW50bG4obnRoV2Vla2RheU9mTW9udGgoNiwgMCwgMjAxNywgMywgVGltZVpvbmUuZ2V0VGltZVpvbmUocykpKTsKCQkJU3lzdGVtLm91dC5wcmludGxuKG50aFdlZWtkYXlPZk1vbnRoKDYsIDEsIDIwMTcsIDMsIFRpbWVab25lLmdldFRpbWVab25lKHMpKSk7CgkJCVN5c3RlbS5vdXQucHJpbnRsbihudGhXZWVrZGF5T2ZNb250aCg2LCAyLCAyMDE3LCAzLCBUaW1lWm9uZS5nZXRUaW1lWm9uZShzKSkpOwoJCX0KCgl9CgoJcHVibGljIHN0YXRpYyBEYXRlIG50aFdlZWtkYXlPZk1vbnRoKGludCBkYXlPZldlZWssIGludCBtb250aCwgaW50IHllYXIsIGludCB3ZWVrLCBUaW1lWm9uZSB0aW1lWm9uZSkgewoJICAgIENhbGVuZGFyIGNhbGVuZGFyID0gQ2FsZW5kYXIuZ2V0SW5zdGFuY2UoKTsKCSAgICBjYWxlbmRhci5zZXRUaW1lWm9uZSh0aW1lWm9uZSk7CgkgICAgY2FsZW5kYXIuc2V0KEdyZWdvcmlhbkNhbGVuZGFyLkRBWV9PRl9XRUVLLCBkYXlPZldlZWspOwoJICAgIC8vY2FsZW5kYXIuc2V0KENhbGVuZGFyLldFRUtfT0ZfTU9OVEgsIHdlZWspOwoJICAgIGNhbGVuZGFyLnNldChHcmVnb3JpYW5DYWxlbmRhci5EQVlfT0ZfV0VFS19JTl9NT05USCwgd2Vlayk7CgkgICAgY2FsZW5kYXIuc2V0KENhbGVuZGFyLk1PTlRILCBtb250aCk7CgkgICAgY2FsZW5kYXIuc2V0KENhbGVuZGFyLllFQVIsIHllYXIpOwoJICAgIHJldHVybiBjYWxlbmRhci5nZXRUaW1lKCk7Cgl9Cn0=