アフィリエイト広告を利用しています。
時より不適切な広告が表示される場合があります。
運営者側でブロックするなど、できる限りの対処を心がけております。
あらかじめご了承ください。
-PR-

【Unity入門】秒→時間 変換(hh:mm:ss変換)(スクリプト)!1分からの簡単Unity入門!

 

Unity、C#で秒を時間(hh:mm:ss)に変換する方法(スクリプト)を説明していきます。

 

181秒 → 00:03:01 に変換する処理です。

 

 

秒 時間 変換

181秒 → 00:03:01 に変換する

 

スクリプト

        // 秒
        float s = 181.0f;

        // TimeSpanのインスタンスを生成。時分は0でOK
        var timespan = new TimeSpan(0, 0, (int)s);

        // hh:mm:ss形式に変換(String)
        var time = timespan.ToString(@"hh\:mm\:ss");

        Debug.Log(time); // 00:03:01

 

時間計測 時間表示

時間を計測して、hh:mm:ss形式で表示する。

タイムを表示したいときによく使う。

スクリプト

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class Timer : MonoBehaviour
{
    [SerializeField]
    Text text_;

    float elpasedTime_;

    // Start is called before the first frame update
    void Start()
    {
        elpasedTime_ = 0.0f;
    }

    // Update is called once per frame
    void Update()
    {
        // 1フレームの経過時間を計測
        elpasedTime_ += Time.deltaTime;

        // TimeSpanのインスタンスを生成。時分は0でOK
        var timespan = new TimeSpan(0, 0, (int)elpasedTime_);

        // hh:mm:ss形式に変換(String)
        var time = timespan.ToString(@"hh\:mm\:ss");

        // テキストを更新
        text_.text = time;
    }
}

スクリプト解説

毎フレームの経過時間をelpasedTime_に計測。

毎フレームelpasedTime_をhh:mm:ssに変換し、

Textを更新。

あとは、スクリプトのアタッチと、

    [SerializeField]
    Text text_;

Scene側のTextをスクリプトのNone部分にアタッチすれば

動くようになります。

 

おわりに

今回は、Unity、C#で秒を時間(hh:mm:ss)に変換する方法(スクリプト)を説明しました。

この記事が何かのお役に立てれば幸いです。

 

 

Web(frog blend)

 

・公式HP「ふろっぐぶれんどのゲームセンター」

frog-blend-game-center.com

 

・外部リンクまとめ

frog-blend.hatenablog.com

 

PR