我在java中遇到了问题。我的java程序中有一个日历,我想将时区设置为我当地的时区。
我能做到这一点并且效果很好。我的问题是当我将日历时间格式的日历时间从24H更改为12H并且我不想要这个时间!
我的问题是如何更改日历中的时区而不更改我在java中的时间格式?
这是我的时区变更代码:
public static Calendar setTimeZoneToTehran(Calendar calendar) {
TimeZone timeZoneOfTehran = TimeZone.getTimeZone("Asia/Tehran");
calendar.setTimeZone(timeZoneOfTehran);
return calendar;
}
答案 0 :(得分:1)
只需快速思考,如果您使用时间格式来读取/解析目的,您可以将SimpleDateFormat用于所需的格式。
Date date = calendar.getTime();
System.out.println(format.format(date));
答案 1 :(得分:0)
正如@devilpreet已经说过的,日历中的格式化只是额外的奖励功能。此类旨在保留有关日期和时间的信息,日期格式在SimpleDateFormat
类中被包含。
此外,考虑使用Joda Time或java.time(来自Java 8)而不是java.util.Calendar
(在某些圈子中使用java.util.Calendar和Date被认为是一种不好的做法)。