我有方法找到基于时区的月份结束日期。
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("CET"));
calendar.set(
Calendar.DAY_OF_MONTH,
calendar.getActualMaximum(Calendar.DAY_OF_MONTH)
);
System.out.println(calendar.getTime());`
它显示输出:Thu Aug 30 18:04:54 PDT 2018
。
但是,它应该给我一个CET格式的输出。
我遗漏了什么?
发布于 2018-08-02 09:45:02
这是因为Date对象没有将时区作为其状态的一部分,而getTime()
实际上返回一个与Date的时区相对应的日期,相反,您需要使用SimpleDateFormat来格式化和打印所需的时区中的日期。
如果您尝试添加以下代码行,您可以看到日历中的时区实际上是CET。
System.out.println(calendar.getTimeZone().getDisplayName());
https://stackoverflow.com/questions/51644208
复制相似问题