如何在 yyyy-MM-dd'T'HH:mm:ss-07:00 中格式化 date/time

How to format date/time in yyyy-MM-dd'T'HH:mm:ss-07:00

我很难格式化 date/time 以将“-07:00”作为时区。一个理想的例子是“2018-06-19T14:45:10-07:00”。

        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss", Locale.getDefault());
        formatter.setTimeZone(TimeZone.getTimeZone("GMT"));
        Calendar cal= Calendar.getInstance();
        String dateTime = formatter.format(cal.getTime());

结果类似于

"2018-06-19T14:45:10"

。我想在它的末尾有 -07:00。我还尝试更改格式化程序以包含时区

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.getDefault());

结果类似于

"2018-06-19T14:45:10Z"

我做错了什么或遗漏了什么?

您不需要 Z

两边的引号
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ", Locale.getDefault());// 2018-06-19T22:38:28+0000