上面是效果
下面是代码
using UnityEngine;
using UnityEngine.UI;
/// <summary>
/// Des: 倒计时测试
/// </summary>
public class TimeTest : MonoBehaviour
{
/** 显示时间的控件 */
private Text _text = null;
/** 当前时间 */
private float _curTime = 0;
/** 是否计时 */
private bool _isCountDown = false;
/** 开始时间 Unix时间 2019/8/23 9:48:45 */
private float _startTime = 1566524925;
/** 结束时间 Unix时间 2019/8/23 18:8:45 */
private float _endTime = 1566554925;
/** 剩余时间 */
private float _remainTime = 0;
void Start ()
{
// 1. 获取UGUI Text控件
_text = GameObject.Find("Canvas/Text").GetComponent<Text>();
// 2. 设置开始倒计时
_isCountDown = true;
// 3. 设置剩余时间
_remainTime = _endTime - _startTime;
}
void Update ()
{
if (_isCountDown)
{
if (_curTime < _remainTime)
{
_curTime = _curTime + Time.deltaTime;
}
float _lostTime = _remainTime - _curTime;
if (_lostTime > 0)
{
int _day = (int)_lostTime / 86400;
int _hour = (int)_lostTime % 86400 / 3600;
int _minute = (int)_lostTime % 3600 / 60;
int _second = (int)_lostTime % 3600 % 60;
_text.text = string.Format("活动倒计时:{0}天{1}小时{2}分{3}秒", _day, _hour, _minute, _second);
}
else
{
_isCountDown = false;
}
}
}
}