Moving cursor on LCD and changing highlighted value
Firstly, you should set the time variables outside the main loop (as a global variable). If you put them in the main loop, the time would always reset to 11:11:11 after 0.6s of delay.


  lcd.setCursor == lcd.setCursor(0,3)


I dont think you can do this (unless the function returns you with the location of the cursor, have to check the header file of the library). 

Instead, you should keep track of the location of the cursor with another variable (as mentioned by gre_gor), say int curLoc. But note that you have to keep track of the range of values it can go. (0 &lt; curLoc &lt; 16)

To summarise, the code could look like this:

#include &lt;Adafruit_RGBLCDShield.h&gt;
#include &lt;utility/Adafruit_MCP23017.h&gt;
Adafruit_RGBLCDShield lcd = Adafruit_RGBLCDShield();

int hours = 11;
int minutes = 11;
int seconds = 11;

int curLoc = 0; //Current cursor location (x-axis)

void setup() {
  lcd.begin(16, 2); //format of display
}

void loop() {
  lcd.setCursor(0,0);
  lcd.print(hours);
  lcd.print(":");
  lcd.print(minutes);
  lcd.print(":");
  lcd.print(seconds);
  lcd.noBlink();
  delay(300);
  lcd.blink();
  delay(300);

  //move cursor right;
  if (buttons &amp; BUTTON_RIGHT) {
    //Keep the tracker in range
    if(curLoc &gt;= 0 &amp;&amp; curLoc &lt; 16){
    curLoc += 1;
    }    

    if(curLoc == 3)
    { 
      minutes += 1 
     }

}