Unity C#で現在時刻を表示する方法/DateTime.Nowの使い方

IT

Unity C#で今の日付・日時を表示する方法です。

スポンサーリンク

DateTime.Nowの使い方

DateTime構造体

//Unity C#
public class GetTime : MonoBehaviour
//DateTimeを扱うのに必要
using System;

{
//日付を代入する変数(DateTime構造体)
DateTime dt;
}
日時を取得するには、名前空間にSystemを追加した上で、日時を代入するDateTime構造体を作る必要があります。
構造体は複数の値が組み合わさってひとつのデータになっているもので、時間の時、分、秒はそれぞれだけで見れば整数ですが、みっつ合わさって「時間」を構成します。あと年月日も入ります。
ざっくり言えば変数です。

現在日時を取得

//Unity C#
using System;

public class GetTime : MonoBehaviour
{
DateTime dt;

void Start()
{
//現在日時を代入
dt = DateTime.Now;
//コンソールに表示
Debug.Log(dt);
}
}
作ったDateTime構造体にDateTime.Nowを代入すれば、
unity datetime.now 現在時刻
ゲーム実行時このように、コンソールに現在時刻が表示されます。

現在日時をテキストに表示

unity datetime.now 現在時刻2
画面にテキストを用意しておきます。作り方やキャンバスをカメラに合わせる方法などは、テキストの記事をご参照ください。
//Unity C#
using System;
using UnityEngine.UI;

public class GetTime : MonoBehaviour
{
DateTime dt;
public Text text;

void Start()
{
//現在日時を代入
dt = DateTime.Now;
//コンソールに表示
text.text = dt.ToString();
}
}
テキストをインスペクターでセットし、DateTime構造体をToStringで文字列に変換して、テキストに流し込みます。
unity datetime.now 現在時刻3
実行結果です。現在の年月日がこのように表示されます。

年、月、日、時刻、分、秒、ミリ秒を別々に表示

//Unity C#
text.text = dt.Year.ToString();
DateTime構造体に対し、Yearを後ろに付けると、
unity datetime.now 現在時刻4
こんな感じで、構造体の中から「年」だけを取り出すことができます。
//Unity C#
dt = DateTime.Now;
text.text = dt.Year.ToString() + "年";
text.text = text.text + dt.Month.ToString() + "月";
text.text = text.text + dt.Day.ToString() + "日";
text.text = text.text + dt.Hour.ToString() + "時";
text.text = text.text + dt.Minute.ToString() + "分";
text.text = text.text + dt.Second.ToString() + "秒";
text.text = text.text + dt.Millisecond.ToString() + "ミリ秒";
同様にMonthで月、Dayで日……となります。
なのでたとえばこういうことをすると、
unity datetime.now 現在時刻5
個別に月や分だけを取り出したり、後ろに単位をつけたりすることが可能です。
datetimenow
Updateメソッドで実行すると、そのまんま時計になります。
やりたいことから逆引きするUNITYの使い方まとめ
Unityをやりたいことから学習していけるよう、機能・用途別にまとめたページです。C#の命令別の逆引きは現時点で作っていません。2019の時期に書き始めているので、それより前のバージョンについては言及しません。

コメント