如何在java中获取带有偏移量的日期时间和时区的格式化日期

时间:2016-11-29 07:39:56

标签: java date formatting

我希望获得带有时区和偏移量的格式化日期和时间。最近我用这段代码进行格式化。

public static String getFormattedLicenseDate(long date) {
      DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.LONG);
      return dateFormat.format(new Date(date));
}

如果输入为1476786856310,则此方法返回" 10/18/16 4:04:16 PM HST"但我想修改这个方法以获得" 2016年10月18日16:04:04 HST(HST-10:00)"

是否有任何模式可以获得此输出,例如" 2016年10月18日16:04:04 HST(HST-10:00)"

3 个答案:

答案 0 :(得分:0)

return new SimpleDateFormat("MMM dd, yyyy HH:mm:ss z (zZ)").format(new Date()));

来自SimpleDateFormat JavaDoc

  • z:一般时区(太平洋标准时间;太平洋标准时间)
  • Z:RFC 822时区(-0800)

答案 1 :(得分:0)

您可以使用格式SimpleDateFormat

"MMM dd, yyyy HH:mm:ss z (zXXX)"
public static String getFormattedLicenseDate(long date) {
    SimpleDateFormat format = new SimpleDateFormat("MMM dd, yyyy HH:mm:ss z (zXXX)");
    return format.format(new Date(date));
}

答案 2 :(得分:0)

DateFormat dateFormat =new SimpleDateFormat("MMM dd, yyyy HH:mm:ss z (zZ)");
return dateFormat.format(new Date(date));

有关日期格式的详细信息,请参阅this