当前位置: 首页 > 知识库问答 >
问题:

英国夏令时时间错了

令狐宏伟
2023-03-14
​import java.text.*;

def format = "yyyy-MM-dd HH:mm:ssXXX"
def dt = new Date();
println dt;

SimpleDateFormat utcFormat = new SimpleDateFormat(format)
utcFormat.setTimeZone(TimeZone.getTimeZone("UTC"))
println utcFormat.format(dt)

SimpleDateFormat istFormat = new SimpleDateFormat(format)
istFormat .setTimeZone(TimeZone.getTimeZone("IST"))
println istFormat.format(dt)

SimpleDateFormat cetFormat = new SimpleDateFormat(format)
cetFormat.setTimeZone(TimeZone.getTimeZone("CET"))
println cetFormat.format(dt)

SimpleDateFormat bstFormat = new SimpleDateFormat(format)
bstFormat.setTimeZone(TimeZone.getTimeZone("BST"))
println bstFormat.format(dt)

2018-03-26 09:04:14Z

2018-03-26 14:34:14+05:30

2018-03-26 11:04:14+02:00

共有1个答案

贝镜
2023-03-14

你似乎希望英国夏令时是英国夏令时,但在这种情况下,它代表孟加拉国标准时间。还要了解Java的BST ZoneId代表什么?

来自答案:

下面的代码起作用

SimpleDateFormat bstFormat = new SimpleDateFormat(format)
bstFormat.setTimeZone(TimeZone.getTimeZone("Europe/London"))
println bstFormat.format(dt)
 类似资料:
  • 我得到一个格式为yyyy-MM-dd HH: mm的字符串,它代表UTC中的日期和时间。下一步是将其放入日历(带时间区UTC)。 此外,还需要创建一个单独的日历,将UTC转换为“欧洲/伦敦”时区(GMT/BST)。 之后,我需要能够检测“欧洲/伦敦”日历是否有DST(日光节约补偿)。 下面的代码将告诉你我已经走了多远,它在一台默认系统时区为GMT的英国计算机上运行正常。但是,当我在一台时区为UTC

  • 从“GMT夏令时”或任何其他可用的Windows时区信息有什么方法可以到达BST吗?

  • 夏令时间 选择[标准]或[夏令时间]。

  • 问题内容: SQL Server作业/计划-美国与英国夏令时调整 我们有一台基于英国的服务器,需要在16:30(美国中部时间-这可能很奇怪,但这是由于某些数据的可用性)运行SQL Agent Job。通常这不会造成问题,因为英国和美国之间的时差为6个小时,因此我们将工作安排在22:30进行。 但是,由于英美两国在3月和11月的不同时间调整时钟以节省夏令时,因此英美之间的时差为5个小时,为2周。 我

  • 如果英国是格林尼治标准时间(一年的一半),这工作良好时,投入一个活动。然而,在英国夏令时,该事件在创建时会延迟一个小时。如何输入时区或创建正确处理GMT或BST的日期。还有没有更好的方法来完成我到目前为止所做的事情呢? 多谢。

  • 轻触方格启用设定,即可将夏令时反映于时间显示中。