android/java 根据当前时间判断股票交易状态(未开盘 交易中 休市中 已收盘)

时间:2023-03-08 22:13:29
  /**
* @param data yyyy-MM-dd HH:mm:ss 时间
* @return 未开盘 交易中 休市中 已收盘
*/
public static String getSotckStatus(String data) {
String s = "";
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date1 = sdf.parse(data);
Calendar cal = Calendar.getInstance();
cal.setTime(date1);
// Calendar cal = Calendar.getInstance();
int hour = cal.get(Calendar.HOUR_OF_DAY);
int minutes = cal.get(Calendar.MINUTE);
if (hour >= 0 && hour < 10) {
if (hour >= 9) {
if (minutes >= 30)// 9:30-10:00
s = "交易中";
else
// 9:00-9:30
s = "未开盘";
} else {// 0:00-9:00
s = "未开盘";
}
} else if (hour > 9 && hour < 12) {
if (hour > 10) {
if (hour >= 11) {
if (minutes >= 30)// 11:30-12:00
s = "休市中";
else
// 11:00-11:30
s = "交易中";
} else {// 10:00-11:00
s = "交易中";
}
} else {
if (minutes >= 30)// 9:30-10:00
s = "交易中";
else
// 9:00-9:30
s = "未开盘";
}
} else if (hour >= 11 && hour < 13) {
if (hour < 12) {
if (minutes >= 30)// 11:30-12:00
s = "休市中";
else
// 11:00-11:30
s = "交易中";
} else {
s = "休市中";
}
} else if (hour > 12 && hour < 15) {
if (hour >= 13) {// 13:00-15:00
s = "交易中";
} else {// 12:00-13:00
s = "休市中";
}
} else if (hour >= 15 && hour <= 24) {// 15:00-24:00
s = "已结束";
}
} catch (Exception e) {
e.printStackTrace();
return s;
}
return s;
}