It will help knowing the year and mileage of your car.

Since you'd had this issue for a year, it's probably safe to say the clutches would have worn out by now. I'm thinking along the lines of a seal warming up or a solenoid. You can test the soleniods.

Measure the resistance with the engine/trans cold (when it gives you the trouble) between pins
A and E (Sol A)
B and E (Sol B)

Those are your two shift soleniods. Can't find it quick but the solenoids are like such (might have 2nd and 4th backwards)

1st gear On On
2nd gear Off On
3rd gear Off Off
4th gear On Off

Looking at that, we can see that maybe one of them is sticking on and not allowing you into 2nd. Check the resistances hot and cold and report back.