关于java:需要当前日期是具有日期格式的“UTC”时区

Need current date is in “UTC” timezone having Date format

本问题已经有最佳答案,请猛点这里访问。

我试图转换当前日期是"UTC"时区格式

1
2
3
4
5
6
7
    Calendar cal = Calendar.getInstance();
    cal.setTime(new Date());
    DateFormat sdf = new SimpleDateFormat("E MMM dd HH:mm:ss Z yyyy");
    sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
    String dat = sdf.format(cal.getTime());
    System.out.println("In string format" + dat);
    System.out.println(("Date After parses" + (Date) sdf.parse(dat)));

以下是操作:

字符串格式Mon Apr 11 09:57:12 +0000 2016
日期解析2016年4月11日星期一15:27:12 IST 2016

当我尝试从日期格式转换日期(Parse)时,我得到的日期是当前日期时间和IST格式。


试试这篇文章中解释的解决方案

基本上他获取了Calendar实例,并将timeZone设置为"UTC"

这是代码:

1
2
3
4
5
6
7
8
9
10
11
12
 TimeZone timeZone = TimeZone.getTimeZone("UTC");
 Calendar calendar = Calendar.getInstance(timeZone);
 calendar.setTime(new Date());
 DateFormat simpleDateFormat = new SimpleDateFormat("E MMM dd HH:mm:ss Z yyyy");
 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());