如何使用Java的偏移量使用日期时间和时区进行格式化日期



我想通过时区和偏移获得格式化的日期和时间。最近,我使用此代码进行格式化。

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日" 2016年16:04:04 HST(HST-100):00)

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

您可以将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));
}
DateFormat dateFormat =new SimpleDateFormat("MMM dd, yyyy HH:mm:ss z (zZ)");
return dateFormat.format(new Date(date));

有关日期格式的更多信息,请参阅此

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

来自SimpleDateFormat Javadoc:

  • z:通用时区(太平洋标准时间; PST)
  • Z:RFC 822时区(-0800)

最新更新