JAVA solution with visual explanation
```\nclass Solution {\n    public int numberOfRounds(String startTime, String finishTime) {\n        // think of a day as units of time, each unit consists 15 m
```\nclass Solution {\n    public int numberOfRounds(String startTime, String finishTime) {\n        // think of a day as units of time, each unit consists 15 minutes \n        // so within a day, there will be 24 * 4 = 96 units (4 15-min units per hour)\n\n        // 0----15min----1----15min----2----15min----3----15min----4 \n        \n        // re-represent the statTime and endTime using this new unit of time, \n        // the number of units between them will be the number of full rounds one can play\n        \n        //  0--------1--------2--------3--------4   \n        //      ^                            ^       2 units in between\n        //    start                         end\n        \n        //  0--------1--------2--------3--------4   \n        //  ^                               ^        3 units in between\n        //  start                          end\n        \n        //  0--------1--------2--------3--------4   \n        //  ^                                   ^    4 units in between\n        //  start                              end\n        \n        int startH = Integer.parseInt(startTime.substring(0, 2));\n        int startM = Integer.parseInt(startTime.substring(3));\n        int endH = Integer.parseInt(finishTime.substring(0, 2));\n        int endM = Integer.parseInt(finishTime.substring(3));\n        \n        int start = startH * 60 + startM;\n        int end = endH * 60 + endM;\n        \n        // when start > end (play overnight), we can simply shift the end time by 24 hours\n        \n        //  0--------1--------2--------3--------4   \n        //         ^                        ^    \n        //        end                      start\n        \n        //  0--------1--------2--------3--------4-------...... 96--------97   \n        //                                  ^            end of day1   ^   \n        //                                 start                      end\n           \n        if (start > end) end += 24 * 60;\n        \n        return (int) (Math.floor(end / 15f) - Math.ceil(start / 15f));\n  \n    }\n}
['Java']