【发布时间】:2014-11-18 19:03:30
【问题描述】:
我想获得 日期格式 作为 yyyy-mm-ddT00:00:00 和 不同的时区 作为输出。但是在这里我得到了日历日期的输出中的默认时区。
Code part as:-
Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
cal.set(Calendar.YEAR, 2014);
cal.set(Calendar.MONTH, Calendar.NOVEMBER);
cal.set(Calendar.DATE, 18);
cal.set(Calendar.HOUR, 20);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
System.out.println("DateTime : " + cal.getTime()+ " \n Zone :: "+ calFrom.getTimeZone().getDisplayName());
输出为:
DateTime : Wed Nov 19 05:30:00 IST 2014
Zone :: Greenwich Mean Time
在这里,我将时区设置为 GMT 但日期显示 IST 以及如何将其转换为 2014-11-19T00:00:00 对应更改的时区。
【问题讨论】:
-
Date对象与创建它的Calendar对象的TimeZone无关。 -
如果你想在特定的日历/时区格式化,你应该使用
DateFormat... -
我必须在一个 API 中实现它,该 API 采用 Calender 对象但适用于不同的时区。
-
那么我怎样才能获得其他时区的日历参考。
-
@TarunChaudhary:根本不清楚你的意思 - “实施它”是什么意思?您已经有一个位于不同时区的日历,但您正在打印一个
Date,并且没有有一个时区。