     }
     break;
     case SETTING_TIME:
+      {
+    DateTime now = RTC.now();
+    DateTime newTime;
+    switch(settingTimeProcess){
+      case T_HOUR:
+        newTime = DateTime(now.year(), now.month(), now.day(), getNextHourFromCurrentHour(now.hour(), true), now.minute(), now.second());
+        break;
+      case T_MINUTE:
+        newTime = DateTime(now.year(), now.month(), now.day(), now.hour(), getNextMinSecFromCurrentMinSec(now.minute(), true), now.second());
+        break;
+      case T_SECOND:
+        newTime = DateTime(now.year(), now.month(), now.day(), now.hour(), now.minute(), getNextMinSecFromCurrentMinSec(now.second(), true));
+        break;
+      case T_DAY:
+        newTime = DateTime(now.year(), now.month(), now.day() + 1, now.hour(), now.minute(), now.second());
+        break;
+      case T_MONTH:
+        newTime = DateTime(now.year(), now.month() + 1, now.day(), now.hour(), now.minute(), now.second());
+        break;
+      case T_YEAR:
+        newTime = DateTime(now.year() + 1, now.month(), now.day(), now.hour(), now.minute(), now.second());
+        break;
+      default: break;
+     
+    }
+       
+    RTC.adjust(newTime);
+  }
+    
+    
     break;
     default: break;
   }

  }
  break;
  case SETTING_TIME:
  break;
  default: break;
  }

  if(currentState == SETTING_TIME && settingTimeProcess == T_DAY && !blinkOn){
    dayString = "  ";
  } else {
    char buff[3];
    sprintf(buff, "%02d", day);
    dayString = buff;
  }
  
  if(currentState == SETTING_TIME && settingTimeProcess == T_MONTH && !blinkOn){
