Sample

    #include <Wire.h>
    #include "RTClib.h"

    RTC_DS1307 RTC;

    short segA = 0; //Display pin 14
    short segB = 1; //Display pin 16
    short segC = 2; //Display pin 13
    short segD = 3; //Display pin 3
    short segE = 4; //Display pin 5
    short segF = 5; //Display pin 11
    short segG = 6; //Display pin 15

    short segA_OUT = 110;
    short segB_OUT = 110;
    short segC_OUT = 110;
    short segD_OUT = 110;
    short segE_OUT = 110;
    short segF_OUT = 110;
    short segG_OUT = 110;

    short segA_IN = 90;
    short segB_IN = 90;
    short segC_IN = 90;
    short segD_IN = 90;
    short segE_IN = 90;
    short segF_IN = 90;
    short segG_IN = 90;

    int TIME = 2000;

    DateTime datePast;
    DateTime dateNow;

    //house keeping
    void setup() {
      Serial.begin(9600);
      Wire.begin();
      RTC.begin();
      RTC.adjust(DateTime(__DATE__, __TIME__));
      datePast = RTC.now();
    }

    //main loop
    void loop() {
      dateNow = RTC.now();
      if(!(datePast.hour() == dateNow.hour() && datePast.minute() == dateNow.hour() ))
      {
        displayNumber(dateNow.hour()*100+dateNow.minute());
        datePast = dateNow;
      }
    }

    //Given a number, we display 10:22
    //After running through the 4 numbers, the display is left turned off
    void displayNumber(int toDisplay) {
      for(int digit = 4 ; digit > 0 ; digit--) {
        lightNumber(toDisplay % 10, digit);
        toDisplay /= 10;
      }

      //start movement
      Serial.print(" T");Serial.println(TIME);
    }

    void move(int servo, int position) {
      Serial.print("#");
      Serial.print(servo);
      Serial.print(" P");
      Serial.print(position);
    }

    //Given a number, turns on those segments
    //If number == 10, then turn off number
    void lightNumber(int numberToDisplay, int segment) {

      int offset = (segment - 1)*7;
      switch (numberToDisplay){

      case 0:
        move(segA + offset, segA_OUT);
        move(segB + offset , segB_OUT);
        move(segC + offset , segC_OUT);
        move(segD + offset , segD_OUT);
        move(segE + offset , segE_OUT);
        move(segF + offset , segF_OUT);
        move(segG + offset , segG_IN);
        break;

      case 1:
        move(segA + offset , segA_IN);
        move(segB + offset , segB_OUT);
        move(segC + offset , segC_OUT);
        move(segD + offset , segD_IN);
        move(segE + offset , segE_IN);
        move(segF + offset , segF_IN);
        move(segG + offset , segG_IN);
        break;

      case 2:
        move(segA + offset , segA_OUT);
        move(segB + offset , segB_OUT);
        move(segC + offset , segC_IN);
        move(segD + offset , segD_OUT);
        move(segE + offset , segE_OUT);
        move(segF + offset , segF_IN);
        move(segG + offset , segG_OUT);
        break;

      case 3:
        move(segA + offset , segA_OUT);
        move(segB + offset , segB_OUT);
        move(segC + offset , segC_OUT);
        move(segD + offset , segD_OUT);
        move(segE + offset , segE_IN);
        move(segF + offset , segF_IN);
        move(segG + offset , segG_OUT);
        break;

      case 4:
        move(segA + offset , segA_IN);
        move(segB + offset , segB_OUT);
        move(segC + offset , segC_OUT);
        move(segD + offset , segD_IN);
        move(segE + offset , segE_IN);
        move(segF + offset , segF_OUT);
        move(segG + offset , segG_OUT);
        break;

      case 5:
        move(segA + offset , segA_OUT);
        move(segB + offset , segB_IN);
        move(segC + offset , segC_OUT);
        move(segD + offset , segD_OUT);
        move(segE + offset , segE_IN);
        move(segF + offset , segF_OUT);
        move(segG + offset , segG_OUT);
        break;

      case 6:
        move(segA + offset , segA_OUT);
        move(segB + offset , segB_IN);
        move(segC + offset , segC_OUT);
        move(segD + offset , segD_OUT);
        move(segE + offset , segE_OUT);
        move(segF + offset , segF_OUT);
        move(segG + offset , segG_OUT);
        break;

      case 7:
        move(segA + offset , segA_OUT);
        move(segB + offset , segB_OUT);
        move(segC + offset , segC_OUT);
        move(segD + offset , segD_IN);
        move(segE + offset , segE_IN);
        move(segF + offset , segF_IN);
        move(segG + offset , segG_IN);
        break;

      case 8:
        move(segA + offset , segA_OUT);
        move(segB + offset , segB_OUT);
        move(segC + offset , segC_OUT);
        move(segD + offset , segD_OUT);
        move(segE + offset , segE_OUT);
        move(segF + offset , segF_OUT);
        move(segG + offset , segG_OUT);
        break;

      case 9:
        move(segA + offset , segA_OUT);
        move(segB + offset , segB_OUT);
        move(segC + offset , segC_OUT);
        move(segD + offset , segD_OUT);
        move(segE + offset , segE_IN);
        move(segF + offset , segF_OUT);
        move(segG + offset , segG_OUT);
        break;

      case 10:
        move(segA + offset , segA_IN);
        move(segB + offset , segB_IN);
        move(segC + offset , segC_IN);
        move(segD + offset , segD_IN);
        move(segE + offset , segE_IN);
        move(segF + offset , segF_IN);
        move(segG + offset , segG_IN);
        break;
      }
    }