Here is how to do it using arrays.
Declare pump times:
const int NUM_PUMP_ON_TIMES = 4;
const int pumpOnTime[NUM_PUMP_ON_TIMES][3] = {{23, 59, 1}, {14, 22, 1}, {14, 23, 1}, {14, 24, 1}};
Turn the water pump on at the right time:
for (int i = 0; i < NUM_PUMP_ON_TIMES; i++) {
// remember, array indices start from 0
if (now.hour() == pumpOnTime[i][0] && now.minute() == pumpOnTime[i][1] && now.second() == pumpOnTime[i][2])
{
Serial.println("water pump is on");
digitalWrite(waterpump, HIGH);
wateron = millis();
}
}
Of course, you will still need the code to turn the water pump off at the right time, which you already have:
if (digitalRead(waterpump) == HIGH)
{
if (millis() - wateron > watertime)
{
digitalWrite(waterpump, LOW);
Serial.println("water pump is off");
}
}