Arduino not recognizing when a timer reaches 0 Alright, so I'm attempting to make a timer that will turn on a light after an hour. Currently I have it set to 5 seconds for testing. What is happening is whenever I start the program it won't recognize when the timer reaches 0.
Here is my code

/*
Hour Alarm
An hour long alarm that allows breaks
Created by: Jaxon Reid
Last Edited: 19/5/2017

Pins:
Pin 13 = Led
Pin 2 = Button
*/
int secLeft=5;
const int led=13;
const int button=2;
const int buttonIn=4;
int buttonValue=0;
// Declares the button to reset as 2 and the lightbulb on pin 13
//the secLeft means the seconds until the light turns on and button value is for wether or not the button is pushed

void setup() {
  Serial.begin(2400);
  Serial.print("On  ");
  pinMode(13,OUTPUT);
  pinMode(button,OUTPUT);
  pinMode(buttonIn,INPUT);
}
// makes the led pin an input and opens the channel for the debugger
void loop() {
  int buttonValue=digitalRead(button);
  Serial.println("Checking time");
  if (secLeft&lt;=0) {
    Serial.println("No time remaining");
    digitalWrite(13,HIGH);
    Serial.println("Light On");
    // If the time remaining is 0 then turn on the light
  }
  if (secLeft&gt;0) {
    Serial.println("Time Remaining");
    digitalWrite(led,LOW);
    secLeft=(secLeft--);
    Serial.println(secLeft);
  }
  if (buttonValue==1) {
    int secLeft=5;
    Serial.println("Reset Timer");
    Serial.println(secLeft);
  }
  delay(1000);
}


Whenever I start it up it just starts reading

On 5
Checking time
Time remaining
5
Checking time
Time remaining
4
Checking time
Time remaining
3
Checking time
Time remaining
2
Checking time
Time remaining
1
Checking time
Time remaining
0
Checking time
Time remaining
-1
Checking time
Time remaining
-2


etc...
So where did I go wrong is what I'm asking.
Thanks!
As per comment and Majenko's answer you are current creating local variables called secLeft and secLeft2 inside the 'if block.  These take precedence over the ones you have defined globally.  Removing the in declarations from inside the if block will stop doing that and point you at the globally defined variables.

As to the rest of the code. If you have 

secLeft=(secLeft2--);
secLeft2=(secLeft);


Then that translates to this sequence of instructions


Assign secLeft with the value of secLeft2
Decrement secLeft2
Assign secLeft2 with the value of secLeft


And in the end you do not change anything.

This is because you are using post-decrement on secLeft2  EG secLeft2--.  This is a feature of C style languages.

I am not sure what you are even trying to do at this point.