Java simpledateformat 英国时间

2024-01-11

我使用简单的日期格式来允许用户指定他们发送数据的时区:

DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,z");

这工作正常: 例如

df.parse("2009-05-16 11:07:41,GMT");

但是,如果有人总是以伦敦时间发送时间(即考虑到夏令时),那么要添加的适当时区字符串是什么? 例如这不起作用:

df.parse("2009-05-16 11:07:41,Western European Time");  
System.out.println(date);
Sat May 16 12:07:41 BST 2009

我想将夏令时的时间与英国时间相匹配。

Thanks.


在夏令时期间,BST。在今年剩下的时间里GMT.

我建议您使用通用名称(全年),即Europe/London。你可以使用这样的东西:

    String userInput = "2009-05-16 11:07:41,Europe/London";
    String[] tokens = userInput.split(",");

    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    df.setTimeZone(TimeZone.getTimeZone(tokens[1]));
    System.out.println(df.parse(tokens[0]));

这种情况下的输出是:

Sat May 16 11:07:41 GMT+01:00 2009
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java simpledateformat 英国时间 的相关文章

随机推荐