Unity C# 计算两个时间的时间差

获取两个系统时间,计算这两个时间之间的间隔

使用很简单,没有什么好说的,就是利用系统内置的方法求出两个时间的时间差,可以获取两个时间之间相差的秒数、分钟、小时和天数。看代码吧:

using System;
using UnityEngine;

public class TimeTest : MonoBehaviour
{
    DateTime startTime;

    private void Start()
    {
        //获取开始时的时间
        startTime = DateTime.Now;
    }

    private void Update()
    {
        if (Input.GetKeyDown(KeyCode.Z))
        {
            //获取当前时间,并打印当前时间与开始时间相差秒数(以秒为单位)
            DateTime curtimer = DateTime.Now;
            int timer = GetSubSeconds(startTime, curtimer);
            Debug.Log(timer);
        }
    }

    /// <summary>
    /// 获取间隔秒数
    /// </summary>
    /// <param name="startTimer"></param>
    /// <param name="endTimer"></param>
    /// <returns></returns>
    public int GetSubSeconds(DateTime startTimer, DateTime endTimer)
    {
        TimeSpan startSpan = new TimeSpan(startTimer.Ticks);

        TimeSpan nowSpan = new TimeSpan(endTimer.Ticks);

        TimeSpan subTimer = nowSpan.Subtract(startSpan).Duration();

        //返回相差时长(返回值是相差的秒数)
        return subTimer.Seconds;
    }

    /// <summary>
    /// 获取两个时间的相差多少分钟
    /// </summary>
    /// <param name="startTimer"></param>
    /// <param name="endTimer"></param>
    /// <returns></returns>
    public int GetSubMinutes(DateTime startTimer, DateTime endTimer)
    {
        TimeSpan startSpan = new TimeSpan(startTimer.Ticks);

        TimeSpan nowSpan = new TimeSpan(endTimer.Ticks);

        TimeSpan subTimer = nowSpan.Subtract(startSpan).Duration();
        
        //返回相差时长(返回值是相差的分钟数)
        return subTimer.Minutes;
    }


    /// <summary>
    /// 获取两个时间的相差多少小时
    /// </summary>
    /// <param name="startTimer"></param>
    /// <param name="endTimer"></param>
    /// <returns></returns>
    public int GetSubHours(DateTime startTimer, DateTime endTimer)
    {
        TimeSpan startSpan = new TimeSpan(startTimer.Ticks);

        TimeSpan nowSpan = new TimeSpan(endTimer.Ticks);

        TimeSpan subTimer = nowSpan.Subtract(startSpan).Duration();

        //返回相差时长(返回值是相差多少小时)
        return subTimer.Hours;
    }

    /// <summary>
    /// 获取两个时间的相差多少天
    /// </summary>
    /// <param name="startTimer"></param>
    /// <param name="endTimer"></param>
    /// <returns></returns>
    public int GetSubDays(DateTime startTimer, DateTime endTimer)
    {
        TimeSpan startSpan = new TimeSpan(startTimer.Ticks);

        TimeSpan nowSpan = new TimeSpan(endTimer.Ticks);

        TimeSpan subTimer = nowSpan.Subtract(startSpan).Duration();

        //返回相差时长(返回值是相差的天数)
        return subTimer.Days;
    }
}

发布了14 篇原创文章 · 获赞 0 · 访问量 409

猜你喜欢

转载自blog.csdn.net/a0_67/article/details/105393780