"I have time."
ある by itself is a verb which "pulls" meaning, in comparison to する which "push" actions, so in this case, is like saying "time exists in the trajectory of oneself" or "as for my person, time exists". You will see less abstract examples of this には later on, I recommend to not dwell on this one in particular since is not even needed, even duo accepts it without the 私には。
を is a particle marking direct objects. A direct object is something that is exposed to an action denoted by a transitive verb. For example: I am reading a book. ('I' is the subject, 'a book' is a direct object, 'am reading' is a transitive verb)
あります ('exists') is not a transitive verb. It only has the subject (who or what exists) but no direct object. Therefore there is no need for を. In the sentence 時間があります 'Time exists' (or 'There is time'), 'time' is the subject, not a direct object. Therefore the が particle is used.
The syntactic structure of Japanese sentences is often different from English sentences. So, if the translation is 'I have time', this doesn't say much about the syntactic structure of the Japanese sentence.
it's changing the topic or is the topic of the conversation so it's が. を makes it the subject but smaller, basically like talking about a party would be が and talking a little about the cake, presents, etc would be を in one sentence and not the whole conversation. (I could be wrong! ^^')
I just started learning this yesterday and jumped in without reviewing my notes. It was absolutely hilarious how much I froze and stared at this. XD Before realizing the correct answer, here were my two "I have no clue what I'm doing" answers: Tokei wa watashino desu! (The clock is mine!) Jikan masu! (Doing time!) (Exclamation points included because I was amused and panicking at the same time. I thought of "Kore wa watashino jikan desu." too, though, which is just "This is my time.") Eventually, I did realize the right answer. XD
間 is also used to tell that you mean a specific amount of something, that it has a beginnig and an ending. You could rather see it like a gap. For example when you sit between to people, the beginning is the arm of one person, then there's a gap where you sit and then there's the next person. When talking about time, you don't have time in general (you still have something to do the next day, probably), but you have a specific amount of time, from the moment you're speaking until you have to sleep or whatever. Your free time is here like the gap between two things you have to do. That's why you use 時間, a time span (with 間, a gap).
I hope that's understandable (and true ^^" )
私に means 'in my sphere', 'at my disposal'.
私には時間があります would be "At my disposal, there is time" or "As for what I have, there is time".
私は時間があります would be "As for me, there is time".
When you want to say that you have something, you can use the structure 私には__があります (so "me having" is the topic). While if you say 私は you simply mark 私 as the topic. In this case using or not using に doesn't make a huge difference, because the verb あります implies 'having' in this context, even though it means 'exists'. But if the speaker omits あります (in an ellyptical phrase), then に becomes crucial.