我正在尝试迁移旧库以使用"新"Java时间API并在一点上挣扎.
我现在开发了一段时间用于处理银行业图表的应用程序.所以你有一个连续的价格流,你将它们聚合1天蜡烛(例如),开放,高,低和收盘.
主要问题在于图表只有在市场开放时才需要显示蜡烛.对于外汇,这意味着从纽约周日17:00到纽约周五17:00.所以这一天从纽约时间17:00开始,即使你住在日内瓦,你的蜡烛也需要反映出来.
我使用旧的"Java Time"API执行此操作的方法是创建自己的时区(请参阅下面的代码)
public class RelativeTimezone extends TimeZone {
private final TimeZone zone;
private final int addedTime;
public RelativeTimezone(String id, TimeZone zone, int addedTime) {
this.zone = zone;
this.addedTime = addedTime;
setID(id);
}
public final int getAddedTime() {
return this.addedTime;
}
@Override
public int getRawOffset() {
return this.zone.getRawOffset() + this.addedTime;
}
@Override
public void setRawOffset(int offsetMillis) {
this.zone.setRawOffset(offsetMillis - this.addedTime);
}
// Other overriding methods that simply forward to "this.zone"
// ...
}
Run Code Online (Sandbox Code Playgroud)
致电:
TimeZone forexTimezone = …Run Code Online (Sandbox Code Playgroud)