Use of になります in the context of time


While attempting to translate the sentence "It will soon be two years since I
started learning Japanese", I started wondering how になります works in the context
of time. Ignoring any other translation errors, is になります the correct word to
use at the end of the sentence

> 日本語を勉強し始めてからもうすぐ二年になります

For some reason, the になります sounds like it is incorrect. My main reason for
using になります is in order to keep the 'becoming' part of the original sentence.
Something like

> 日本語を勉強し始めたのは二年前のことです

holds a vaguely similar meaning, but is more like "I started learning Japanese
two years ago"

Is my usage of になります here correct, and is it common to use it when talking
about time?

I often hear my friends say もうすぐ10時ですね, but is it also correct to say
もうすぐ10時になりますね? Even typing that, it seems as though it can't be correct,
perhaps because になります needs some sort of state to transfer into? The sentence
もうすぐ10時になりますから、そろそろ帰りましょうか seems like an appropriate usage, but I really don't
know.




Your first sentence had grammatical mistakes irrelevant to the question, so I
fixed it.

>   * 日本語を勉強し始めてからもうすぐ二年になります
>   * もうすぐ10時になりますね
>

are both correct. `なります` does not need some state to transfer into. It can be
just an instantaneous event, like 'becoming 10 o'clock'.

The sentence

> × もうすぐ10時になりますから、そろそろ帰りましょうか  
>  'Since it will be 10 o'clock soon, let's leave.'

is strange under the intended context because the first part means that it is
not 10 o'clock yet, but the second part is suggesting to leave which is
conditioned by becoming 10 o'clock. The correct way is to say

> ○ もうすぐ10時になりますから、そろそろ帰る仕度をしましょうか  
>  'Since it will be 10 o'clock soon, let's prepare to leave.'




Your first sentence had grammatical mistakes irrelevant to the question, so I
fixed it.

>   * 日本語を勉強し始めてからもうすぐ二年になります
>   * もうすぐ10時になりますね
>

are both correct. `なります` does not need some state to transfer into. It can be
just an instantaneous event, like 'becoming 10 o'clock'.

The sentence

> × もうすぐ10時になりますから、そろそろ帰りましょうか  
>  'Since it will be 10 o'clock soon, let's leave.'

is strange under the intended context because the first part means that it is
not 10 o'clock yet, but the second part is suggesting to leave which is
conditioned by becoming 10 o'clock. The correct way is to say

> ○ もうすぐ10時になりますから、そろそろ帰る仕度をしましょうか  
>  'Since it will be 10 o'clock soon, let's prepare to leave.'

