使用日历和日期获取UTC时间
这个问题在这里已经有了答案:
这个问题已经在这里回答了
System.out.println(cal_Two.getTime())调用从getTime()返回Date。 它是转换为println字符串的日期,并且转换将在您的情况下使用默认的IST时区。
您需要明确使用DateFormat.setTimeZone()在所需时区中打印日期。
TimeZone timeZone = TimeZone.getTimeZone("UTC");
Calendar calendar = Calendar.getInstance(timeZone);
SimpleDateFormat simpleDateFormat =
new SimpleDateFormat("EE MMM dd HH:mm:ss zzz yyyy", Locale.US);
simpleDateFormat.setTimeZone(timeZone);
System.out.println("Time zone: " + timeZone.getID());
System.out.println("default time zone: " + TimeZone.getDefault().getID());
System.out.println();
System.out.println("UTC: " + simpleDateFormat.format(calendar.getTime()));
System.out.println("Default: " + calendar.getTime());
编辑将cal转换为日期
Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH);
int day = cal.get(Calendar.DATE);
System.out.println(year);
Date date = new Date(year - 1900, month, day); // is same as date = new Date();
只需使用Cal值构建Date对象。 请让我知道,如果有帮助。
尝试使用日期格式化程序并将时区设置为UTC。
dateFormatter.setTimeZone(TimeZone.getTimeZone("UTC"));
链接地址: http://www.djcxy.com/p/18699.html
上一篇: Getting UTC time with Calendar and Date
下一篇: what is the best way to specify default value for a date parameter in ireport