現在時刻を取得
現在時刻を取得するには
DateTime dt = DateTime.Now;
を使います
取得できる値
| 値 | 説明 |
| dt.Year | 年 |
| dt.Month | 月 |
| dt.Day | 日 |
| dt.Hour | 時 |
| dt.Minute | 分 |
| dt.Second | 秒 |
| dt.DayOfWeek | 曜日 |
| dt.DayOfYear |
年間積算日 |
public class Time : MonoBehaviour {
string timestring;
string timedate;
double spantime;
public static System.DateTime datetime;
// Use this for initialization
void Start () {
// 時刻を保存するデータの名前
timedate = "lasttime";
// 前回終了時の時刻を取得する
timestring = PlayerPrefs.GetString (timedate);
// 初回起動時は取得できないので代わりに現在の時刻を入れる
if (timestring == null || timestring == "") {
timestring = System.DateTime.Now.ToString
();
// 起動時の時刻を保存
PlayerPrefs.SetString (timedate,
timestring.ToString ());
}
// 保存しておいた時刻は文字列なので時刻(DateTime)に変換
datetime = System.DateTime.Parse(timestring);
}
// Update is called once per frame
void Update () {
// データが存在するなら
if (timestring != null || timestring != "") {
// 現在の時刻-保存しておいた時刻で経過時間を求める
System.TimeSpan span = System.DateTime.Now -
datetime;
// 経過時間を秒で取得
spantime = span.TotalSeconds;
// 経過時間を時間 分 秒に変換する
int hour = (int)(spantime / 3600);
int miniute = (int)(spantime % 3600 / 60);
int second = (int)(spantime % 3600 % 60);
// 経過時間のログ
Debug.Log (hour + "時間" + miniute + "分" +
second + "秒");
}
}
}
これでゲームを最初に起動した時から 現在時刻までのカウントを取ってくれます
指定時刻までのカウントダウンをする
指定時刻までのカウントダウンをする場合 以下のスクリプトを使います
| datetime.AddSeconds(1); |
1秒後までのカウント |
| datetime.AddMinutes(1); |
1分後までのカウント |
| datetime.AddHours(1); |
1時間後までのカウント |
| datetime.AddDays(1); |
1日後までのカウント |
| datetime.AddMonths(1); |
1カ月後までのカウント |
| datetime.AddYears(1); |
1年後までのカウント |