Java 美国股市日历时区
Java Calendar TimeZone for US Stock Market
我正在做 Android 与 US NYSE & NASDAQ stock market
相关的编程。到目前为止,我知道他们使用的是东部时间 (ET)。美国东部时间上午 9 点 30 分开市,下午 4 点收市。
为了查看股市当前开盘/收盘,我想查看当前时间是否在上午 9.30 - 下午 4 点之间。
下面的代码是否正确,以获取 ET 时区的用户时间?
Calendar calendar = Calendar.getInstance();
calendar.setTimeZone(TimeZone.getTimeZone("US/Eastern"));
据我所知,东部时间 (ET) 实行夏令时。在夏季,它使用 UTC-4 的 EDT,而在冬季,它使用 UTC-5 的 EST。所以纽约证券交易所和纳斯达克使用的是 ET 时区?
我想确保我对上午 9 点 30 分至下午 4 点的比较使用与纽约证券交易所和纳斯达克股票市场相同的时区。
根据 IANA 维护的 tzdb,我会选择 "America/New_York" 而不是过时的 ID "US/Eastern"。
这个时区考虑了夏季(但不包括冬季)的夏令时,因此可以全年应用。
Wikipedia 表示纽约证券交易所和纳斯达克股票市场也使用此时区。
顺便说一下,我会使用 new GregorianCalendar()
而不是 Calendar.getInstance()
来确保您获得正确的日历(如果您在泰国则相关)。
评估打开条件可能如下所示(本地时间“9:30/16:00”的半打开间隔):
int hour = cal.get(Calendar.HOUR_OF_DAY);
int minute = cal.get(Calendar.MINUTE);
boolean open = (hour > 9 || (hour == 9 && minute >= 30)) && (hour < 16);
我正在做 Android 与 US NYSE & NASDAQ stock market
相关的编程。到目前为止,我知道他们使用的是东部时间 (ET)。美国东部时间上午 9 点 30 分开市,下午 4 点收市。
为了查看股市当前开盘/收盘,我想查看当前时间是否在上午 9.30 - 下午 4 点之间。
下面的代码是否正确,以获取 ET 时区的用户时间?
Calendar calendar = Calendar.getInstance();
calendar.setTimeZone(TimeZone.getTimeZone("US/Eastern"));
据我所知,东部时间 (ET) 实行夏令时。在夏季,它使用 UTC-4 的 EDT,而在冬季,它使用 UTC-5 的 EST。所以纽约证券交易所和纳斯达克使用的是 ET 时区?
我想确保我对上午 9 点 30 分至下午 4 点的比较使用与纽约证券交易所和纳斯达克股票市场相同的时区。
根据 IANA 维护的 tzdb,我会选择 "America/New_York" 而不是过时的 ID "US/Eastern"。
这个时区考虑了夏季(但不包括冬季)的夏令时,因此可以全年应用。
Wikipedia 表示纽约证券交易所和纳斯达克股票市场也使用此时区。
顺便说一下,我会使用 new GregorianCalendar()
而不是 Calendar.getInstance()
来确保您获得正确的日历(如果您在泰国则相关)。
评估打开条件可能如下所示(本地时间“9:30/16:00”的半打开间隔):
int hour = cal.get(Calendar.HOUR_OF_DAY);
int minute = cal.get(Calendar.MINUTE);
boolean open = (hour > 9 || (hour == 9 && minute >= 30)) && (hour < 16);