我需要将当前日期时间转换为ios8601格式,类似于:
日期和时间格式:01 Jan 2014 BST 12:00 PM
最后在我的jsp上,我希望把格式化的日期放在中
<time datetime="{date and time in ISO8601}">{date and time in format: 01 Jan 2014 BST 12:00 PM}</time>
我目前的试用:
TimeZone tz = TimeZone.getTimeZone("BST");
DateFormat df = new SimpleDateFormat("dd-MM-yyyy'T'HH:mm'Z'");
df.setTimeZone(tz);
String nowAsISO = df.format(new Date());
但结果并不像我所期望的那样。。。。。。
此模式将为您提供所需:
SimpleDateFormat format = new SimpleDateFormat("dd MMM yyyy zzz HH:mm a");
format.setTimeZone(TimeZone.getTimeZone("Europe/London"));
System.out.println(format.format(new Date()));
打印:
01 Sep 2014 BST 15:37 PM
注意:我假设你在寻找BST=英国夏令时,应该如上所述。如果您想要孟加拉国时间,请使用Asia/Dhaka
作为时区标志。请注意,英国夏令时在1月1日不生效(如您的示例所引用的)