Unity C # time difference calculating two time

Acquiring two system time, calculates the time interval between the two

Very simple to use, there is nothing to say, is determined using the system built-in method two times the time difference, the phase difference between two times can get the number of seconds, minutes, hours and days. Look at the code it:

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;
    }
}

Published 14 original articles · won praise 0 · Views 409

Guess you like

Origin blog.csdn.net/a0_67/article/details/105393780