Skip to content

Instantly share code, notes, and snippets.

@tsuzukihashi
Created December 4, 2017 15:55
Show Gist options
  • Save tsuzukihashi/c53708c8b9cd6aa7c72282bdfe08acad to your computer and use it in GitHub Desktop.
Save tsuzukihashi/c53708c8b9cd6aa7c72282bdfe08acad to your computer and use it in GitHub Desktop.
IEnumerator Timer()
{
while (true)
{
DateTime dtNow = DateTime.Now;
DayOfWeek week = dtNow.DayOfWeek;
int weekNumber = (int)dtNow.DayOfWeek;
now_year = dtNow.Year;
now_month = dtNow.Month;
now_day = dtNow.Day;
now_hour = dtNow.Hour;
now_min = dtNow.Minute;
now_sec = dtNow.Second;
DateTime dt = new DateTime(now_year, now_month, now_day, now_hour, now_min, now_sec);
int j = 0;
int i = 0;
for (i = 0; i < hour.Length; i++)
{
if (hour[i] > now_hour)
{
N_hour[j] = hour[i];
N_min[j] = min[i];
N_sec[j] = sec[i];
j++;
}
//現在の時間が次の時間と同じならば
if (hour[i] == now_hour)
{//現在の分より次の分が大きければ
if (min[i] > now_min)
{
N_hour[j] = hour[i];
N_min[j] = min[i];
N_sec[j] = sec[i];
j++;
}
if (min[i] == now_min)
{
if (sec[i] >= now_sec)
{
N_hour[j] = hour[i];
N_min[j] = min[i];
N_sec[j] = sec[i];
j++;
}
}
}
}
int display_hour;
int display_min;
int display_sec;
//秒数から見ていく
//現在の秒数のほうが小さい
if (N_sec[0] >= now_sec)
{
display_sec = N_sec[0] - now_sec;
//現在の分以下
if (N_min[0] >= now_min)
{
display_min = N_min[0] - now_min;
display_hour = N_hour[0] - now_hour;
}
//現在の分のほうが大きい
else
{
display_min = 60 + N_min[0] - now_min;
display_hour = N_hour[0] - now_hour - 1;
}
}
//現在の秒数のほうが大きい
else
{
display_sec = 60 + N_sec[0] - now_sec;
//現在の分以下
if (N_min[0] >= now_min)
{
display_min = N_min[0] - now_min - 1;
display_hour = N_hour[0] - now_hour;
}
//現在の分のほうが大きい
else
{
display_min = 60 + N_min[0] - now_min - 1;
display_hour = N_hour[0] - now_hour - 1;
}
}
if (display_sec == 60)
{
display_sec = 0;
}
if (display_min == 60)
{
display_min = 0;
}
busTime.text = "バスは" + N_hour[0].ToString() + "時" + N_min[0].ToString() + "分に出発";
time.text = display_hour.ToString() + "時間" + display_min.ToString() + "分" + display_sec.ToString() + "秒";
NextTime.text = "この次のバス:" + N_hour[1].ToString() + "時" + N_min[1].ToString() + "分";
if (N_hour[1] == 0 && N_min[1] == 0 && N_sec[1] == 0)
{
NextTime.text = "この次のバス:ありません";
}
if (N_hour[0] == 0 && N_min[0] == 0 && N_sec[0] == 0)
{
busTime.text = "本日のバスはありません";
time.text = "--------";
}
if(weekNumber == 0 || weekNumber == 6)
{
busTime.text = "--------------";
time.text = "-----";
NextTime.text = "土・日・祝日 未対応";
}
yield return new WaitForSeconds(1.0f);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment