##Java 8, 313 bytes##

    int c=0;while(true){int h=LocalDateTime.now().getHour(),s=LocalDateTime.now().getMinute();if(c==30){c=0;String l ="";for(int i=0;i<60;i++){l+="-";}String u=l.substring(0,s),d=l.substring(s);System.out.println((h<10?"0":"")+h+" "+u);System.out.println((h+1<10?"0":"")+(h+1)+" "+d);}else{c++;System.out.println();}}

This only updates every 30 iterations of the while loop.  The other 29 iterations just print new lines.