Why do we say "I have been sick since yesterday." and not "I have gotten sick since yesterday."?
When you use the verb "to get" with some condition (like "sick"), this means the initial arrival or onset of the condition. It occurs over a relatively short time period, so that is why it's not correct to use it with an extended time-span like "since yesterday." Instead, we use the "to be" with the condition to indicate that you are in that condition over an extended period of time.
Examples of using "to get" to indicate arrival or onset of a condition:
- I got sick yesterday after eating some bad potato salad.
- I got home after midnight this Saturday.
- She has been trying to get pregnant ever since she got married.
Examples of using "to be" to indicate duration of a condition:
- I have been sick since yesterday.
- I will be home all afternoon.
- It seems like she has been pregnant the whole time she has been married.
-- Edited to add:
You can talk about a gradual onset of a condition over period of time by using a progressive form of "to get" (i.e., combining "to be" with present participle "getting"). Examples:
- I am getting sicker as the pollution in the city gets worse.
- She had been getting better before she suffered a relapse.