有个Calendar 类型的数据,值为:2008-12-04T09:30:47-05:00
现在想把它转换成日期类型。想得到值:2008-12-04 09:30:47
Calendar datetime
Date dt=datetime.getTime();
System.out.println(dt);
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(dt));输出的两个值:
Thu Dec 04 22:30:47 CST 2008
2008-12-04 22:30:47请高手帮解决一下,
这里出现22时,可能与时区有关吧。因为数据是西五区,而我们这是东八区,相差了十三个小时,请问是不是这个问题啊?
如果处理才能忽略掉时区呢?
现在想把它转换成日期类型。想得到值:2008-12-04 09:30:47
Calendar datetime
Date dt=datetime.getTime();
System.out.println(dt);
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(dt));输出的两个值:
Thu Dec 04 22:30:47 CST 2008
2008-12-04 22:30:47请高手帮解决一下,
这里出现22时,可能与时区有关吧。因为数据是西五区,而我们这是东八区,相差了十三个小时,请问是不是这个问题啊?
如果处理才能忽略掉时区呢?
System.out.println(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(dt));你试试看是这个不?
使用默认时区和语言环境获得一个日历。
static Calendar getInstance(Locale aLocale)
使用默认时区和指定语言环境获得一个日历。
static Calendar getInstance(TimeZone zone)
使用指定时区和默认语言环境获得一个日历。
static Calendar getInstance(TimeZone zone, Locale aLocale)
使用指定时区和语言环境获得一个日历。
4楼本来想写的代码是:System.out.println(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(dt));
我想请教下楼主,你的Calendar实例怎么得到的?
Calendar 类型是xsd文件中定义的。
try {
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ssZ");
Date a = sf.parse("2008-12-04T09:30:47-05:00");
SimpleDateFormat sff = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
TimeZone t = TimeZone.getTimeZone("GMT-05");
sff.setTimeZone(t);
String s = sff.format(a);
System.out.println(s);
} catch (ParseException e) {
e.printStackTrace();
}
String s = "2008-12-04T09:30:47+05:00";
if (s.contains("+")) {
s = s.substring(0, s.lastIndexOf("+"));
} else {
s = s.substring(0, s.lastIndexOf("-"));
}
s = s.replace("T", " ");
System.out.println(s);