Are the following sentences grammatical?:
I went to the cimema last day.
I finished my reading my book last hour.
The thing that is worrying me is the use of the phrases last hour and last day. Is this grammatical English?
Last day is not idiomatic. Use 'yesterday' instead.
I hope he gave you the present I made for you yesterday.
'Last hour' as you've written it can be used in a few special situations (like a news broadcast), but it's not an everyday expression. Normally we'd use the last hour, along with an appropriate preposition.
I hope you looked after my son while I was gone for the last hour.
I was at the doctor's office for the last 4 hours, so I haven't seen the news.
After the last hour of studying, my brain is fried.
If the time expressions "last day" and "last hour" form a prepositional phrase they become idiomatic and ‘grammatical’.
And in the title ...
I hope he gave you the present I made last
day night for you.
Weirdly, we can say last night and the sentence is perfectly grammatical, but we can't send someone a gift we made last day, this day or next day. The expression last night refers to the previous evening. When we want to refer to the previous day i.e. the OP's ‘Last day’, in English we call it yesterday, ‘this day’ is called today while ‘next day’ is called tomorrow.
However, ‘day’ is used in prepositional phrases, or with a determiner because it is a noun, while ‘last’ and ‘next’ are adjectives.
"Last day" by itself is not really grammatical or idiomatic. It's possible someone might use it in a sentence ... but if you want to say "the previous day" there is the perfectly good word "yesterday" which works.
It is possible to say various phrases with (or related to) "last day", however:
This is the last day to purchase your special one-time-only upgrade!
I went to school on the last day of class, but all of the other students played hooky.
The last few days have been really difficult for me. What's with all the famous people dying?