日期时间,因为更新分钟?

我有一个设置为DateTime.now,当我更新我的应用程序DateTime对象(更新)。

我也有这个timerTick事件,称每5秒应该检查有多少分钟前,更新时间为。

我试着:

if ((DateTime.Now - Updated).Minutes > 0) { updateTextBlock.Text = "updated " + ((DateTime.Now - Updated).Minutes).ToString() + " minutes ago"; }

但它似乎并没有正常工作。 是不是有更好的办法来做到这一点?

/ R

--------------解决方案-------------

我怀疑你想TotalMinutes ,而不是Minutes 。 否则,你就永远只能在范围-59得到一个值59。

您可能还需要考虑使用UtcNow ,而不是Now - (或者用户改变时区或时区改变其UTC偏移量,通常为夏令时),否则你可以得到,由于时区变化效果奇

您可能会发现它更容易使用的实例System.Diagnostics.StopWatch跟踪多少时间,因为任何特定的出发点已过。

它可以是更可靠,比datetime对象做数学,因为它会使用硬件的高精度计时器如果有准确的。

你可能寻找TotalMinutes ,而不仅仅是MinutesTotalMinutes会给你在区间分钟的总数,而Minutes只给0-59(因为你也有Hours等)

我做了类似的事情的一种方法是使用TimeSpan

我有两个变量timePassedtickTime

在那里我会设置tickTime为5秒的TimeSpantimePassed为0

TimeSpan tickTime = new TimeSpan(0,0,0,5); // 5 seconds
TimeSpan timePassed = new TimeSpan(0,0,0,0); // 0 seconds

那么在处理程序Tick事件我想补充tickTimetimePassed

timePassed = timePassed.Add(tickTime); \\ adds 5 seconds to the timePassed TimeSpan

然后你可以使用timePassed来获取时间,因为更新。 希望这可以帮助

分类:C# 时间:2015-03-16 人气:5
本文关键词: C#
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.425 (s). 10 q(s)