如何在java中以美国时区格式将字符串转换为日期
如何在java中将字符串转换为美国时区格式的日期。我试图将字符串转换为美国时区格式的日期,但它总是采用IST格式如何在java中以美国时区格式将字符串转换为日期,java,Java,如何在java中将字符串转换为美国时区格式的日期。我试图将字符串转换为美国时区格式的日期,但它总是采用IST格式 TimeZone tz = TimeZone.getTimeZone("US/Alaska"); SimpleDateFormat sdf = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss z"); String date="Sun, 9 Mar 2014 02:00:00 EST"; Date d = null; try {
TimeZone tz = TimeZone.getTimeZone("US/Alaska");
SimpleDateFormat sdf = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss z");
String date="Sun, 9 Mar 2014 02:00:00 EST";
Date d = null;
try {
d = sdf.parse(date);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("date is"+d);
boolean inDs = tz.inDaylightTime(d);
System.out.println("inDs"+inDs);
打印日期时,请使用日历而不是日期。无论如何,下面将日期转换为日历并返回日期的解决方案是无效的。如果可以分别获取日、月、年等,最好使用
cal.set()
你的代码抛出了
java.text.ParseException:Unparseable date:“Sun,2014年3月9日02:00:00 EST”
。请正确查看输出,然后发布…@Nitul你能告诉我什么是问题吗date
对象的可能副本没有时区概念。您看到的是日期的默认toString()
输出,它仅使用本地时区输出日期。
TimeZone tz = TimeZone.getTimeZone("US/Alaska");
SimpleDateFormat sdf = new SimpleDateFormat(
"EEE, d MMM yyyy HH:mm:ss z");
String date = "Sun, 9 Mar 2014 02:00:00 EST";
Date d = null;
try {
Calendar cal = Calendar.getInstance();
cal.setTime(sdf.parse(date));
cal.setTimeZone(tz);
System.out.println("date is " + cal.getTime());
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}