# Help with a faster clock?

I just made a clock that keeps real time but I want to know how to make the clock faster
Here’s the script:

using UnityEngine;

using System;

public class ClockAnimator : MonoBehaviour {

``````private const float
hoursToDegrees = 360f / 12f,
minutesToDegrees = 360f / 60f,
secondsToDegrees = 360f / 60f;
public bool Analog;

public Transform Hour, Minute, Second;

void Update () {
if(Analog) {
TimeSpan timespan = DateTime.Now.TimeOfDay;
Hour.localRotation =
Quaternion.Euler(0f,0f,(float)timespan.TotalHours * -hoursToDegrees);
Minute.localRotation =
Quaternion.Euler(0f,0f,(float)timespan.TotalMinutes * -minutesToDegrees);
Second.localRotation =
Quaternion.Euler(0f,0f,(float)timespan.TotalSeconds * -secondsToDegrees);

}
else {

DateTime time = DateTime.Now;
Hour.localRotation = Quaternion.Euler (0f,0f,time.Hour * -hoursToDegrees);
Minute.localRotation = Quaternion.Euler (0f,0f,time.Minute * -minutesToDegrees);
Second.localRotation = Quaternion.Euler (0f,0f,time.Second * -secondsToDegrees);

}

}
``````

}

Here is a quick a hack to get you started. Set ‘fractionAdd’ to 1.0 to run twice as fast (i.e. for every real second, it add a full second).

``````using UnityEngine;
using System;

public class ClockAnimator : MonoBehaviour {

private const float
hoursToDegrees = 360f / 12f,
minutesToDegrees = 360f / 60f,
secondsToDegrees = 360f / 60f;
public bool Analog;

public Transform Hour, Minute, Second;

public float fractionAdd = 1.0f;
private float timerAdd = 0.0f;

void Update () {
timerAdd += Time.deltaTime * fractionAdd;
TimeSpan timespan = DateTime.Now.TimeOfDay;
timespan += new TimeSpan((long)timerAdd * TimeSpan.TicksPerSecond);

if(Analog) {

Hour.localRotation =
Quaternion.Euler(0f,0f,(float)timespan.TotalHours * -hoursToDegrees);
Minute.localRotation =
Quaternion.Euler(0f,0f,(float)timespan.TotalMinutes * -minutesToDegrees);
Second.localRotation =
Quaternion.Euler(0f,0f,(float)timespan.TotalSeconds * -secondsToDegrees);

}
else {

DateTime time = new DateTime(timespan.Ticks);
Hour.localRotation = Quaternion.Euler (0f,0f,time.Hour * -hoursToDegrees);
Minute.localRotation = Quaternion.Euler (0f,0f,time.Minute * -minutesToDegrees);
Second.localRotation = Quaternion.Euler (0f,0f,time.Second * -secondsToDegrees);

}

}
}
``````