If you deposited money yesterday, you shouldn't have a problem spending that money today. If you are depositing funds that you will need to have immediate access to, you need to deposit it as cash. Cash is cash, no banking institution needs to be involved, therefore there is no lapse in time from the time you deposit it to the time it shows up. It's immediate.
Now, let's say you have 300 dollars in your account, a check from someone you want to deposit as cash and that check is for 500 dollars. There is a good chance based on your banking activity and the fact that the check is less than YOUR collected balance that the teller will not allow a deposit as cash. They have to protect themselves if a check looks fishy and basically you need to be able to cover the amount.
The solution! Look at the check the person has given you. What bank do they use? You can always go cash checks given to you outside your bank at the check "sender's" institution. If it is not too much trouble that is how I would manage it.
Not every check you get will be from someone who banks locally. The above wouldn't work in that scenario.
Cash is king.
Like the other post below mentions...Anything deposited after (diff in some cases) 3p.m. on a Friday, even though the bank is open on Sat, will show up available on Tuesday. The Friday deposit will actually have Monday's date! That's just how it works. Bank early on Fridays or earlier in the week.
Used to be a teller