Char array to int

Hi,
I have a problem,
I need to make a clock using arduino+bluetooth input(the initial input to set the clock’s variables);

This is my code:

#include <OLED_I2C.h>
#include <SoftwareSerial.h>

int rxPin = 10;
int txPin = 14;
int seconds;
int minuts;
int hours;
int y = 23; 
//int x = 90; 
SoftwareSerial bluetooth(rxPin, txPin);

String message; //string that stores the incoming message

OLED  myOLED(SDA, SCL, 8);

extern uint8_t SmallFont[];

void setup()
{
   //set baud rate
  bluetooth.begin(9600); 
  myOLED.begin();
  myOLED.setFont(SmallFont);
  randomSeed(analogRead(0));
}

void loop()
{





  while (bluetooth.available()) {
    message += char(bluetooth.read());
  }
  if (!bluetooth.available())
  {
    if (message != "")
    { 
      Serial.println(message); 
       test(message);
      message = ""; 
    }
  }
 // myOLED.print("OLED_I2C Scrolling Text Demo ", 90, y);
 // myOLED.update();
  delay(1000); //delay
 
}

  void test(String msg)
  {
    char Hoursstring[8]={msg[0],msg[1],msg[2],msg[3],msg[4],msg[5],msg[6],msg[7]};
    myOLED.print(String(Orestring), CENTER , y);
    myOLED.update();
    char s[2]={msg[0],msg[1]};
    char m[2]={msg[3],msg[4]};
    char o[2]={msg[6],msg[7]};
    seconds=atoi(s);
    minuts=atoi(m);
    hours=atoi(o);
    delay(1000);
  }

I tried a lot of things but i’m not able to extract 3 variables(int)(seconds,minuts,hours) from the char array.
How can i do it?
The problem is that i find difficult to take 2 char for example Hoursstring[0]+Hoursstring[1] and convert them into a int.
Example: INPUT:12:12:12 OUPUT:int seconds=12 int minuts=12 int hours=12 and then i can start the clock.
Excuse me if I misspelled some word but i don’t speak english.

    char Hoursstring[8]={msg[0],msg[1],msg[2],msg[3],msg[4],msg[5],msg[6],msg[7]};

What does this line of code do ?

Consider applying the principles of Serial Input Basics - updated

But, for example if i try to take 2 characters of the array and try to convert them into a string variable(after this i could easily convert the string into a int variable) the serial monitor shows me strange squares(i think that the squares are some special characters) . Is it possible to do this easily? Nobody can show me an example?

    char s[2]={msg[0],msg[1]};
...
...
    seconds=atoi(s);

Unless msg [1] has the value zero (that's a real zero, not an ASCII '0'), it is unlikely that "atoi(s)" will work correctly.

if i try to take 2 characters of the array and try to convert them into a string variable

Unless you terminate the target array with a zero you are not creating a string, merely an array of chars. They are not the same thing at all.

I solved the problem :) I added a null character at the end of any array. Thanks to all.