尝试使用
TimeZone.getDefault()代替
TimeZone.getTimeZone("GMT")
从文档:
…您使用getDefault得到一个TimeZone,它根据程序运行的时区创建一个TimeZone。
编辑:您可以使用SimpleDateFormat解析日期(那里的格式字符串上也有文档)。在您的情况下,您想做(未测试):
// note that I modified the format string slightly SimpleDateFormat fmt = new SimpleDateFormat("yyyy/MM/dd'T'HH:mm:ss'Z'"); // set the timezone to the original date string's timezone fmt.setTimeZone(TimeZone.getTimeZone("GMT")); Date date = fmt.parse("1998/12/21T13:29:31Z", new ParsePosition(0)); // then reset to the target date string's (local) timezone fmt.setTimeZone(TimeZone.getDefault()); String localTime = fmt.format(date);
或者,使用两个单独的SimpleDateFormat实例,一个用于原始实例,一个用于目标时间。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)