「私は午後7時までに食べた」といいたい場合、「I ate by 7 p.m.」と「I ate until 7 p.m.」のどちらが正しいですか?

「私は午後7時までに食べた」といいたい場合、「I ate by 7 p.m.」が正しいです。

「I ate until 7 p.m.」は、「私は午後7時まで食べた」という意味になります。

時を示す前置詞を図でイメージすると、以下の通りになります。

※「I ate from 7 to 8 p.m.」の代わりに「I ate from 7 until 8 p.m.」ということも可能です

難易度:6/10
関連リンク:「たくさんの時間」といいたい場合、「a lot of time」と「a lot of times」、どちらが正しいですか?

「午前/午後」の表記として「am/pm」、「AM/PM」、「a.m./p.m.」、「 A.M./P.M.」と様々な表記を目にしますが、どれが正しいですか?

どれが正しいというのは特になく、個人の好みとなります。
因みに、AP Style(アメリカで採用されている記事を書く際の基準)では「a.m./p.m.」 が使用されます。

参考:AP Style

難易度:—
関連リンク:時間を表す「8:07」はどのように読めばよいですか?

時刻「8:30」のことを「eight and a half hours」といいますか?

いいえ、「eight and a half hours」だと「八時間半」になってしまいます。
時刻「8:30」は「eight-thirty」または、「half past eight」といいます。

I have an appointment at 8:30 (eight-thirty).

私は8時半にアポがあります。

尚、「午前」、「午後」を明確にしたい場合、時刻の後に「a.m.」または「p.m.」付けます。

I have an appointment at 8:30 (eight-thirty) a.m.

私は午前8時半にアポがあります。

難易度:3/10
関連リンク:時間を表す「8:07」はどのように読めばよいですか?

時間を表す「8:07」はどのように読めばよいですか?

「eight-oh-seven」と読みます。

時間「XX:01」〜「XX:09」は、以下のように表わします。

数字oh数字

従って、時間「8:01」〜「8:09」は、以下のように表わします。

8:01 = eightohone
|
8:05 = eightohfive
|
8:09 = eightohnine

尚、時間「XX:10」〜「XX:59」は、以下のように表わします。

数字数字

従って、時間「8:10」〜「8:59」は、以下のように表わします。

8:10 = eightten
|
8:30 = eightthirty
|
8:59 = eightfifty nine

また、「午前」か「午後」かを明確にしたい場合は、「a.m.」または「p.m.」を時間の後に付けます。

8:07 a.m. = eightohseven a.m.

8:59 p.m. = eightfifty nine p.m.

難易度:—
関連リンク:「午後5時」といいたい場合、「5 o’clock p.m.」で合っていますか?

「午後5時」といいたい場合、「5 o’clock p.m.」で合っていますか?

いいえ、「5 p.m.」または、「5 o’clock in the afternoon」になります。「O’clock」は「〜時」という意味を持ちます。また、「p.m.」にも「午後〜時」という意味がある為、「XX o’clock p.m.」だと「〜時」の部分が重複してしまいます。

5 o’clock = 5時
5 p.m. = 午後5時
5 o’clock p.m. = 午後5時 X

「5 o’clock」を「a.m./p.m.」を使用せずに、「午前」または「午後」を明確にしたい場合、「in the morning」または「in the afternoon(夕方)」を加えます。

I woke up at 5 o’clock in the morning today.

I woke up at 5 a.m. today.

私は今日、午前5時に起きました。

I went home at 5 o’clock in the afternoon today.

I went home at 5 p.m. today.

私は今日、午後5時に家に帰りました。

尚、一般的に「午後6時〜午前0時」は、「in the afternoon」の代わりに「in the evening」または「at night」が使用されます。

The kids went to sleep at 10 o’clock in the evening.

難易度:5/10
関連リンク:「Evening」と「night」、時間的に遅いのは?

「12 a.m.」と「12 p.m.」、どっちが正午になりますか?

「12 p.m.」が「正午(noon)」、「12 a.m.」が「深夜(midnight)」です。

深夜12時~午前11時59分までは、「a.m.」です。
正午12時~午後11時59分までは、「p.m.」です。

難易度:2/10
関連リンク:「Day」と「date」の違いは何ですか?