C# 统一倒计时7天并重置
我试图在Unity C#中进行实时7天倒计时,但不知道如何做到这一点 我希望能够得到HH:MM:SS 到目前为止,我有:C# 统一倒计时7天并重置,c#,unity3d,timer,C#,Unity3d,Timer,我试图在Unity C#中进行实时7天倒计时,但不知道如何做到这一点 我希望能够得到HH:MM:SS 到目前为止,我有: public UILabel timerLabel; public float myTimer = 3000.0f; void Update () { if(myTimer>0) { myTimer -= Time.deltaTime; //int days = Mathf.FloorToInt(myTimer /
public UILabel timerLabel;
public float myTimer = 3000.0f;
void Update () {
if(myTimer>0) {
myTimer -= Time.deltaTime;
//int days = Mathf.FloorToInt(myTimer / 60F);
//int hours = Mathf.FloorToInt(myTimer / 60F);
int minutes = Mathf.FloorToInt(myTimer / 60F);
int seconds = Mathf.FloorToInt(myTimer - minutes * 60);
string niceTime = string.Format("{0:00}:{1:00}:{2:00}", minutes, minutes, seconds);
timerLabel.text= niceTime;
}
}
我想,当用户打开游戏时,获取当前时间(不是设备时间,而是某种世界时间),并能够设置一个标准时间来重置,比如说每个星期天的午夜
这可能吗?如果可能的话。。。怎么做
感谢您的帮助,并提前表示感谢:-)
#######编辑
好的,我试过Chris Mills Price的解决方案,如下所示:
public UILabel timerLabel;
DateTime startTime = DateTime.UtcNow;
DateTime endTime = DateTime.UtcNow;
void Start(){
worldTime = DateTime.UtcNow;
startTime = Convert.ToDateTime("08/31/2015 00:00:01");
endTime = startTime.AddDays(7);
}
void Update () {
TimeSpan timeRemaining = endTime-startTime;
int hours = (int) timeRemaining.TotalHours; // truncate partial hours
int minutes = timeRemaining.Minutes;
int seconds = timeRemaining.Seconds;
string niceTime = string.Format("{0:00}:{1:00}:{2:00}", hours, minutes, seconds);
timerLabel.text= niceTime;
}
我不能让它做我想做的。我得到的只是剩下的时间:7.00:00:00
我的开始时间似乎还可以,结束时间也可以。我错过了什么
希望得到帮助:-)正如B建议的那样,
DateTime.UtcNow
很可能就是您想要的
还提供了许多方法来帮助进行日期计算,这使这是一项非常简单的任务
在您的情况下,假设您有:
DateTime startTime = DateTime.UtcNow;
然后,您可以在一周后使用以下方法计算该值:
DateTime endTime = startTime.AddDays(7);
要计算HH:MM:SS值,请从另一个值中减去一个值以获得a,并使用TimeSpan
TotalHours/Minutes/Seconds属性
TimeSpan timeRemaining = endTime-startTime;
int hours = (int) timeRemaining.TotalHours; // truncate partial hours
int minutes = timeRemaining.Minutes;
int seconds = timeRemaining.Seconds;
尝试
DateTime.UtcNow
而不是starttime
TimeSpan timeRemaining = endTime-DateTime.UtcNow;
“那个设备独立吗?”曼莎,读链接。UTC=协调世界时。是的。你想要
totalTimeSpentInWorld
还是TotalRealWorldTimesRunnedStartedPlaying
之类的东西?我想做一个计数器,它总是倒计时7天。从星期天到星期天。我试过你的建议,正如我在编辑后的原始帖子中所描述的,但没有成功。我错过了什么?看起来你总是会得到7天,因为在你的代码中,startTime是一个固定的日期,endTime是一个固定的日期。尝试在Update()开始时计算worldTime,然后将剩余时间计算为endTime-worldTime.Ahhh,Perfekt:-)完成作业(y)