Q:

Showing time in proper manner

I need to show time during level, in which I want to show in how much time player completed its level, I am calculating proper time, but it is not showing in properly format here is my code so far.
I need in this format hour : minute : sec
but its showing in this format
seconds : nanoseconds
and if 60 sec passed, it did not convert to 1 minute, it continuous to increase and 61 ,62 so on
public void Start()
{
 init_time = Time.time;
}
public void Update()
{
    if (game_ended_bool) 
    {
        return;
    }
     init_time = init_time + 1.0f;
    string time_to_show = Mathf.Floor((init_time/60.0f)).ToString("00")+":"+(init_time%60).ToString("00");
    time_remain_text.text = time_to_show;
    time_taken_to_com_level = init_time;
//      print (time_to_show);
} 

A:

Use string.Format to have something clean. I've also added a Mathf.FloorToInt on your seconds, tell me if it fits your needs.
Moreover, you should use Time.time to get the correct time. You don't have to handle this yourself by adding + 1 to your init_time
init_time = Time.time;
string time_to_show = string.Format( "{0:00}:{1:00}", Mathf.FloorToInt( ( init_time / 60.0f ) ), Mathf.FloorToInt( init_time ) % 60 ) 

A:

It is not showing nanoseconds, but you are adding 1 second to your timer every time Update() is called - which is many times per second. 
init_time = init_time + 1.0f;

Replace the above line with this:
init_time = init_time + Time.deltaTime; // deltaTime adds the time it took to complete the last frame.

