The Stack Overflow podcast is back! Listen to an interview with our new CEO.
1 of 3

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.