| | |
| | | |
| | | import java.math.RoundingMode; |
| | | import java.text.DecimalFormat; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | import java.util.concurrent.ConcurrentHashMap; |
| | | |
| | | import org.apache.commons.collections.CollectionUtils; |
| | |
| | | return data; |
| | | } |
| | | |
| | | public static void main(String[] args) { |
| | | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss a", Locale.ENGLISH); |
| | | System.out.println(simpleDateFormat.format(new Date())); |
| | | } |
| | | public Map<String, Object> bulidOne(FuturesOrder order) { |
| | | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss a", Locale.ENGLISH); |
| | | simpleDateFormat.setTimeZone(TimeZone.getTimeZone("America/New_York")); |
| | | FuturesOrder order_cache = (FuturesOrder) redisHandler.get(FuturesRedisKeys.FUTURES_SUBMITTED_ORDERNO + order.getOrder_no()); |
| | | if (order_cache != null) order = order_cache; |
| | | |
| | |
| | | DecimalFormat df_symbol = new DecimalFormat(decimals); |
| | | df_symbol.setRoundingMode(RoundingMode.FLOOR);// 向下取整 |
| | | |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); |
| | | TimeZone timeZone = TimeZone.getTimeZone("America/New_York"); |
| | | sdf.setTimeZone(timeZone); |
| | | |
| | | DecimalFormat df = new DecimalFormat("#.##"); |
| | | Map<String, Object> map = new HashMap<String, Object>(); |
| | | map.put("order_no", order.getOrder_no()); |
| | | map.put("name", item.getName()); |
| | | map.put("symbol", order.getSymbol()); |
| | | map.put("open_time", DateUtils.format(order.getCreate_time(), DateUtils.DF_yyyyMMddHHmmss)); |
| | | map.put("open_time", sdf.format(order.getCreate_time())); |
| | | if (order.getClose_time() != null) { |
| | | map.put("close_time", DateUtils.format(order.getClose_time(), DateUtils.DF_yyyyMMddHHmmss)); |
| | | // 设置时区为纽约的冬令时(Eastern Standard Time, EST) |
| | | map.put("close_time", sdf.format(order.getClose_time())); |
| | | } else { |
| | | map.put("close_time", "--"); |
| | | } |
| | |
| | | } |
| | | |
| | | map.put("volume", order.getVolume()); |
| | | |
| | | map.put("settlement_time", DateUtils.format(order.getSettlement_time(), DateUtils.DF_yyyyMMddHHmmss));// 交割时间 |
| | | map.put("settlement_time", sdf.format(order.getSettlement_time()));// 交割时间 |
| | | map.put("close_price", df_symbol.format(order.getClose_avg_price())); |
| | | map.put("remain_time", StringUtils.isEmptyString(order.getRemain_time()) ? "0:0:0" : order.getRemain_time()); |
| | | map.put("time_num", order.getTimeNum()); |