Which one is right? The hard times in the old days... (has gone away)

I am puzzled at this multiple choice. Who can do me a favor? Thanks a million.
The hard times in the old days ______.
A has gone
B has passed
C has gone away
D has been away

.
The sentence is a little oddly composed and there is no right answer. It should read ‘have’. When we replace ‘has’ with ‘have’, which answer will you choose, Clara?
.

Micawber,
I think “has” is right. Cos “the hard times” is the Subject, which refers to a period.
In my opinion B (has passed) is right.
Cos I remembered this sentence:
[color=red]Gone are the days when we used foreign oil.
So my opinion is:
When we express “…days are over”, we can use:
be gone/ pass/ go by
However, that’s just my personal opinion, have no idea whether it is.

Clara

Hi Clara,

You quote: Gone are the days when we used foreign oil. It therefore follows that you need ‘have’ in you multiple choice example, don’t you?

Alan

Mister Micawber & Alan,
Then if it is “have”, which one is right?
The hard times in the old days have gone.
The hard times in the old days have passed.

Clara

Hi,

Both make sense to me.

Alan