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 現在時刻](https://sunagitsune.com/wp-content/uploads/2021/10/8c0ccd719212b1a233c728fcaac4cfa6.png)
ゲーム実行時このように、コンソールに現在時刻が表示されます。
現在日時をテキストに表示
![unity datetime.now 現在時刻2](https://sunagitsune.com/wp-content/uploads/2021/10/fa3e65e052dc2ba79bf1c3e74bc0d91c.png)
画面にテキストを用意しておきます。作り方やキャンバスをカメラに合わせる方法などは、テキストの記事をご参照ください。
//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](https://sunagitsune.com/wp-content/uploads/2021/10/f7246515440708051074756f3fd78f3f-650x362.png)
実行結果です。現在の年月日がこのように表示されます。
年、月、日、時刻、分、秒、ミリ秒を別々に表示
//Unity C#
text.text = dt.Year.ToString();
DateTime構造体に対し、Yearを後ろに付けると、
![unity datetime.now 現在時刻4](https://sunagitsune.com/wp-content/uploads/2021/10/d34e353ae29ffa3d34cd1f0e75ab4e77-650x362.png)
こんな感じで、構造体の中から「年」だけを取り出すことができます。
//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](https://sunagitsune.com/wp-content/uploads/2021/10/be64f7fc65d01c17fa437a71693786a4-650x360.png)
個別に月や分だけを取り出したり、後ろに単位をつけたりすることが可能です。
![datetimenow](https://sunagitsune.com/wp-content/uploads/2021/10/datetimenow.gif)
Updateメソッドで実行すると、そのまんま時計になります。
![](https://sunagitsune.com/wp-content/uploads/2021/07/computer-1343393_1280-160x90.jpg)
やりたいことから逆引きするUNITYの使い方まとめ
Unityをやりたいことから学習していけるよう、機能・用途別にまとめたページです。C#の命令別の逆引きは現時点で作っていません。2019の時期に書き始めているので、それより前のバージョンについては言及しません。
コメント