Determine whether time from hh:mm:ss to hh:mm:ss is am,pm, or both java
我有2个时间字符串,即"从"和"到"时间。
例:
如何使用日历格式确定从上到下的时间是上午或两者。
我的工作:
我得到的时间:
1 2 |
然后
1 2 3 4 5 6 7 8 9 10 11 | if (agenda_from_hour>=12&&agenda_to_hour<=24){ //pm } else if (agenda_from_hour>=0&&agenda_to_hour<=12){ //am } else { //am and pm } |
问题是当我有时间从6:00:00到12:30:44,am是输出。
是否有更好的方法来比较2个字符串时间和确定它是上午,下午还是两者。
谢谢。
试试这个:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | public static void main(String[] args) throws ParseException { String from="05:30:22"; String to ="14:00:22"; boolean fromIsAM = isAM(from); boolean toIsAM = isAM(to); } /** * Return true if the time is AM, false if it is PM * @param HHMMSS in format"HH:mm:ss" * @return * @throws ParseException */ public static boolean isAM(String HHMMSS) throws ParseException { SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); Date date = sdf.parse(HHMMSS); GregorianCalendar gc = new GregorianCalendar(); gc.setTime(date); int AM_PM = gc.get(Calendar.AM_PM); if (AM_PM==0) { return true; } else { return false; } } |
使用Java Calendar API类本身..检查以下答案:
java获取日期标记字段(am / pm),
考虑AM / PM,计算Java中的日期/时间差